import type { ParsedPlaylist, PlaylistSegment, SegmentData, SegmentDecoder } from './types'; export interface SegmentLoaderOptions { cacheSize?: number; decoder: SegmentDecoder; baseUrl: string; fetchFn?: typeof fetch; } export declare class SegmentLoader { private cache; private inflight; private abortControllers; private decoder; private baseUrl; private fetchFn; constructor(options: SegmentLoaderOptions); setDecoder(decoder: SegmentDecoder): void; setBaseUrl(baseUrl: string): void; /** * Load a segment: returns cached data if available, otherwise fetches + decodes. */ load(segment: PlaylistSegment, playlist: ParsedPlaylist): Promise; /** * Prefetch segments in the background. Errors are silently ignored. */ prefetch(segments: PlaylistSegment[], playlist: ParsedPlaylist): void; /** * Abort all inflight fetch requests. */ abortAll(): void; has(uri: string): boolean; clear(): void; private resolveUrl; private fetchRaw; } //# sourceMappingURL=segment-loader.d.ts.map