import { AbsoluteLocation, BuildHandlerOptions, BuildMiddleware } from "@smithy/types";
import { CompressionPreviouslyResolved, CompressionResolvedConfig } from "./configurations";
/**
 * @internal
 */
export interface CompressionMiddlewareConfig {
    /**
     * Defines the priority-ordered list of compression algorithms supported by the service operation.
     */
    encodings: string[];
    /**
     * Indicates that the streaming blob MUST be finite and have a known size when sending data from a client to a server.
     * Populated if smithy requiresLength is set https://smithy.io/2.0/spec/streaming.html#requireslength-trait
     */
    streamRequiresLength?: boolean;
}
/**
 * @internal
 */
export declare const compressionMiddleware: (config: CompressionResolvedConfig & CompressionPreviouslyResolved, middlewareConfig: CompressionMiddlewareConfig) => BuildMiddleware<any, any>;
export declare const compressionMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation;
