interface MyHeaders {
    expires: string;
    date?: Date;
    pragma: string;
    'content-range'?: string;
    'last-modified': string;
    'cache-control': string;
}
export interface ChunkResponse {
    buffer: Uint8Array;
    headers?: MyHeaders;
    requestDate: Date;
    responseDate: Date;
}
export declare function parseCacheControl(field: string): Record<string, string | number | boolean>;
export declare class CacheSemantics {
    minimumTTL: number;
    constructor({ minimumTTL }: {
        minimumTTL: number;
    });
    calculateChunkExpirationDate(chunkResponse: ChunkResponse): Date | undefined;
    _coerceToDate(thing: Date | string | number): Date | undefined;
    /**
     * check whether a cached chunk response is still valid and can be used
     */
    cachedChunkIsValid(chunkResponse: ChunkResponse): boolean;
    /**
     * check whether the response for this chunk fetch can be cached (always
     * returns true now)
     */
    chunkIsCacheable(_arg?: any): boolean;
}
export {};
