/// import { SourceStream } from './globals'; import { FFWorker } from "./message"; import { ChunkData, SourceNode, SourceType, TargetNode, WriteChunkData } from "./types/graph"; import { BufferPool } from './utils'; declare type SourceStreamCreator = (seekPos: number) => Promise>; export declare function getSourceInfo(src: SourceType): Promise<{ size: number; url?: string; isHLS?: boolean; }>; export declare const sourceToStreamCreator: (src: SourceType) => SourceStreamCreator; export declare class FileReader { #private; source: SourceType; streamCreator: SourceStreamCreator; stream: SourceStream | undefined; worker: FFWorker; constructor(id: string, source: SourceType, worker: FFWorker); get url(): string; get end(): boolean; } export declare class StreamReader { #private; cacheData: ChunkData[]; worker: FFWorker; stream: SourceStream; bufferPool: BufferPool; constructor(id: string, cacheData: ChunkData[], stream: SourceStream, worker: FFWorker); get end(): boolean; probe(): Promise; read(): Promise; close(source: SourceNode): void; } declare type Reader = FileReader | StreamReader; /** * Generic data type for all data buffer with unified API. */ export declare class Chunk { #private; worker: FFWorker; id: string; constructor(data: ChunkData | WriteChunkData, worker: FFWorker, id: string); get data(): Uint8Array | undefined; get videoFrame(): VideoFrame | undefined; get audioData(): AudioData | undefined; get offset(): number; close(): void; } /** * stream output handler */ export declare function newExporter(node: TargetNode, worker: FFWorker): Promise; /** * Exporter is a class that exports data from a graph. */ export declare class Exporter { id: string; worker: FFWorker; readers: Reader[]; constructor(id: string, worker: FFWorker, readers: Reader[]); next(): Promise<{ output: Chunk[]; progress: number; done: boolean; }>; close(): Promise; } export {};