/// import { ModuleType as FF, FrameInfo, StreamInfo, DataFormat } from './types/ffmpeg'; declare type WebPacket = EncodedVideoChunk | EncodedAudioChunk; declare type WebFrame = VideoFrame | AudioData; declare type WebEncoder = VideoEncoder | AudioEncoder; declare type WebDecoder = VideoDecoder | AudioDecoder; export declare class Packet { FFPacket?: FF['Packet']; WebPacket?: WebPacket; dts: number; mediaType: 'video' | 'audio'; constructor(pkt: FF['Packet'] | WebPacket, dts: number, mediaType: 'video' | 'audio'); get size(): number; get duration(): number; toFF(): import("./types/ffmpeg").Packet; toWeb(): WebPacket; close(): void; } export declare class Frame { #private; FFFrame?: FF['Frame']; WebFrame?: WebFrame; constructor(frame: FF['Frame'] | WebFrame | undefined, name: string); get name(): string; get pts(): number; get frameInfo(): FrameInfo | { format: string; height: number; width: number; sampleRate: number; channels: number; channelLayout: string; }; toFF(): Promise; toWeb(frameRate: number): WebFrame; clone(): Frame; close(): void; } export declare class Encoder { #private; encoder: FF['Encoder'] | WebEncoder; streamInfo: StreamInfo; outputs: WebPacket[]; /** * @param useWebCodecs check `Encoder.isWebCodecsSupported` before contructor if `true` */ constructor(streamInfo: StreamInfo, useWebCodecs: boolean, muxFormat: string); static isWebCodecsSupported(streamInfo: StreamInfo): Promise; toSupportedFormat(dataFormat: DataFormat): DataFormat; get FFEncoder(): import("./types/ffmpeg").Encoder | undefined; encode(frame: Frame): Promise; flush(): Promise; close(): void; } export declare class Decoder { #private; decoder: FF['Decoder'] | WebDecoder; outputs: WebFrame[]; streamInfo: StreamInfo; /** * @param useWebCodecs check `Decoder.isWebCodecsSupported` before contructor if `true` */ constructor(demuxer: FF['Demuxer'] | null, name: string, streamInfo: StreamInfo, useWebCodecs?: boolean); static isWebCodecsSupported(streamInfo: StreamInfo): Promise; get mediaType(): "video" | "audio"; decode(pkt: Packet): Promise; flush(): Promise; close(): void; } export {};