import { MediaInfo } from "../ffmpeg/types/FFmpeg.types"; import { IFilmstripData } from "../library/MediaData"; export declare enum FilmstripExtractorEventTypeEnum { OUTPUT = "output", ERROR = "error" } type EventPayloadMap = { [FilmstripExtractorEventTypeEnum.OUTPUT]: IFilmstripData | null; [FilmstripExtractorEventTypeEnum.ERROR]: string | null; }; type EventMap = { [K in FilmstripExtractorEventTypeEnum]: (payload: EventPayloadMap[K]) => void; }; export declare class FilmstripExtractor { private worker; private listeners; private done; private destroyed; private _startTime; constructor(); private createWorker; private destroyWorker; init(blobUrl: string | undefined, metadata: MediaInfo, source?: Blob | File): Promise; process(): void; isDone(): boolean; addEventListener(type: K, callback: EventMap[K]): void; removeEventListener(type: K, callback: (payload: EventPayloadMap[K]) => void): void; private emit; destroy(): void; } export {};