export class BlockedSource extends BaseSource { /** * * @param {BaseSource} source The underlying source that shall be blocked and cached * @param {object} options * @param {number} [options.blockSize] * @param {number} [options.cacheSize] */ constructor(source: BaseSource, { blockSize, cacheSize }?: { blockSize?: number | undefined; cacheSize?: number | undefined; }); source: BaseSource; blockSize: number; blockCache: QuickLRU; /** @type {Map} */ evictedBlocks: Map; blockRequests: Map; blockIdsToFetch: Set; abortedBlockIds: Set; /** * * @param {AbortSignal} signal */ fetchBlocks(signal: AbortSignal): void; /** * * @param {Set} blockIds * @returns {BlockGroup[]} */ groupBlocks(blockIds: Set): BlockGroup[]; /** * * @param {import("./basesource").Slice[]} slices * @param {Map} blocks */ readSliceData(slices: import("./basesource").Slice[], blocks: Map): ArrayBuffer[]; } import { BaseSource } from "./basesource.js"; import QuickLRU from "quick-lru"; declare class Block { /** * * @param {number} offset * @param {number} length * @param {ArrayBuffer} [data] */ constructor(offset: number, length: number, data?: ArrayBuffer | undefined); offset: number; length: number; data: ArrayBuffer; /** * @returns {number} the top byte border */ get top(): number; } declare class BlockGroup { /** * * @param {number} offset * @param {number} length * @param {number[]} blockIds */ constructor(offset: number, length: number, blockIds: number[]); offset: number; length: number; blockIds: number[]; } export {}; //# sourceMappingURL=blockedsource.d.ts.map