/**
 * -------------------------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation.  All Rights Reserved.  Licensed under the MIT License.
 * See License in the project root for license information.
 * -------------------------------------------------------------------------------------------
 */
import { type RequestOption } from "@microsoft/kiota-abstractions";
import type { Middleware } from "./middleware.js";
import { CompressionHandlerOptions } from "./options/compressionHandlerOptions.js";
/**
 * Compress the url content.
 */
export declare class CompressionHandler implements Middleware {
    private readonly handlerOptions;
    next: Middleware | undefined;
    /**
     * A member holding the name of content range header
     */
    private static readonly CONTENT_RANGE_HEADER;
    /**
     * A member holding the name of content encoding header
     */
    private static readonly CONTENT_ENCODING_HEADER;
    /**
     * Creates a new instance of the CompressionHandler class
     * @param handlerOptions The options for the compression handler.
     * @returns An instance of the CompressionHandler class
     */
    constructor(handlerOptions?: CompressionHandlerOptions);
    /**
     * @inheritdoc
     */
    execute(url: string, requestInit: RequestInit, requestOptions?: Record<string, RequestOption>): Promise<Response>;
    private executeInternal;
    private contentRangeBytesIsPresent;
    private contentEncodingIsPresent;
    private getRequestBodySize;
    private readBodyAsBytes;
    private compressRequestBody;
    private compressUsingCompressionStream;
}
//# sourceMappingURL=compressionHandler.d.ts.map