import type { CallAutomationApiClient } from "./generated/src/callAutomationApiClient.js";
import type { PipelineResponse } from "@azure/core-rest-pipeline";
import type { DeleteRecordingOptions, DownloadRecordingOptions } from "./models/options.js";
/** Class containing ContentDownloading operations. */
export declare class ContentDownloaderImpl {
    private readonly client;
    /**
     * Initialize a new instance of the class ContentDownloader class.
     * @param client - Reference to the service client
     */
    constructor(client: CallAutomationApiClient);
    private addCustomSignUrlPolicy;
    /**
     * Deletes a recording.
     * @param deleteLocationUrl - The recording location url. Required.
     */
    deleteRecording(deleteLocationUrl: string, options: DeleteRecordingOptions): Promise<void>;
    /**
     * Returns a stream with a call recording.
     * @param sourceLocationUrl - The source location url. Required.
     * @param options - Additional request options contains downloadRecording options.
     */
    download(sourceLocationUrl: string, options: DownloadRecordingOptions): Promise<PipelineResponse>;
    /**
     * Builds HTTP Range header for partial content requests.
     * @param offset - Starting byte position (0-based)
     * @param length - Number of bytes to download (optional)
     * @returns Formatted Range header value
     *
     * @example
     * buildRangeHeader(1, 100)     // "bytes=1-100" (first 100 bytes)
     * buildRangeHeader(100, 50)    // "bytes=100-149" (50 bytes starting at 100)
     * buildRangeHeader(100)        // "bytes=100-" (from byte 100 to end)
     */
    private buildRangeHeader;
}
//# sourceMappingURL=contentDownloader.d.ts.map