export interface RandomAccess { size(signal?: AbortSignal): Promise; read(offset: bigint, length: number, signal?: AbortSignal): Promise; close(): Promise; } export declare class BufferRandomAccess implements RandomAccess { private readonly data; constructor(data: Uint8Array); size(signal?: AbortSignal): Promise; read(offset: bigint, length: number, signal?: AbortSignal): Promise; close(): Promise; } export declare class BlobRandomAccess implements RandomAccess { private readonly blob; constructor(blob: Blob); size(signal?: AbortSignal): Promise; read(offset: bigint, length: number, signal?: AbortSignal): Promise; close(): Promise; } export interface HttpRandomAccessOptions { headers?: Record; cache?: { blockSize?: number; maxBlocks?: number; }; signal?: AbortSignal; snapshotPolicy?: 'require-strong-etag' | 'best-effort'; } export declare class HttpRandomAccess implements RandomAccess { private readonly url; private readonly headers; private readonly blockSize; private readonly maxBlocks; private readonly cache; private resolvedSizeBytes?; private pinnedEtag?; private pinnedLastModified?; private readonly signal; private readonly snapshotPolicy; private readonly shouldSkipRangeAcceptEncoding; constructor(url: string | URL, options?: HttpRandomAccessOptions); size(signal?: AbortSignal): Promise; read(offset: bigint, length: number, signal?: AbortSignal): Promise; close(): Promise; private tryHeadSize; private probeSizeWithRangeRequest; private getBlock; private fetchRange; private fetchRangeResponse; private buildIfRangeHeader; private applyValidators; private findValidatorMismatch; private enforceStrongEtag; } //# sourceMappingURL=RandomAccess.d.ts.map