import type { IRangeRequestConfig, IHeadRequestInfo, IRangeRequestClient } from './types.js';
import { RangeRequestTokenizer } from './range-request-tokenizer.js';
interface IInternalRangeRequestConfig extends IRangeRequestConfig {
    avoidHeadRequests: boolean;
    initialChunkSize: number;
    minimumChunkSize: number;
}
export declare class RangeRequestFactory {
    private rangeRequestClient;
    config: IInternalRangeRequestConfig;
    constructor(rangeRequestClient: IRangeRequestClient);
    initTokenizer(config?: IRangeRequestConfig): Promise<RangeRequestTokenizer>;
    /**
     * Get file information, an HTTP-client may implement this doing a HEAD request
     * @return Promise with head-request-info, extending tokenizer file-info.
     */
    getHeadRequestInfo(): Promise<IHeadRequestInfo>;
    private fetchFileInfoWithHeadRequest;
    private fetchFileInfoWithGetRequest;
}
export {};
