/// import * as CP from 'child_process'; export declare const exec: typeof CP.exec.__promisify__; export declare type RawProbeData = { [key: string]: unknown; } & { streams: { [key: string]: unknown; } & { index: number; codec_name: string; codec_long_name: string; profile?: string; codec_type: string; codec_tag_string: string; codec_tag: string; width: number; height: number; coded_width: number; coded_height: number; closed_captions: number; has_b_frames: number; sample_aspect_ratio?: string; display_aspect_ratio?: string; pix_fmt: string; level: number; color_range?: string; color_space?: string; chroma_location?: string; refs: number; is_avc?: string; nal_length_size?: string; r_frame_rate: string; avg_frame_rate: string; time_base: string; start_pts?: number; start_time?: string; duration_ts?: number; duration?: string; sample_fmt?: string; sample_rate?: string; channels?: number; channel_layout?: string; bit_rate?: string; bits_per_sample?: number; bits_per_raw_sample?: string; nb_frames?: string; disposition: Disposition; tags?: { [key: string]: unknown; } & { language: string; title?: string; comment?: string; handler_name: string; vendor_id: string; }; }[]; format: { [key: string]: unknown; } & { filename: string; nb_streams: number; nb_programs: number; format_name: string; format_long_name: string; start_time?: string; duration: number; size: number; bit_rate?: string; probe_score: number; tags?: { [key: string]: unknown; } & { encoder: string; album?: string; genre?: string; title?: string; artist?: string; album_artist?: string; track?: string; date: string; major_brand?: string; minor_version?: string; compatible_brands?: string; }; }; }; export interface Disposition { default: number; dub: number; original: number; comment: number; lyrics: number; karaoke: number; forced: number; hearing_impaired: number; visual_impaired: number; clean_effects: number; attached_pic: number; timed_thumbnails: number; } export declare type ImageStream = { [key: string]: unknown; } & { type: 'image'; codec: string; width: number; height: number; sar: number; dar: number; displayWidth: number; displayHeight: number; title?: string; disposition: Disposition; pixelFormat: string; tags?: { [key: string]: any; }; }; export declare type CoverStream = Omit; export declare type VideoStream = { [key: string]: unknown; } & { type: 'video'; codec: string; width: number; height: number; sar: number; dar: number; displayWidth: number; displayHeight: number; framerate: number; title?: string; disposition: Disposition; pixelFormat: string; tags?: { [key: string]: any; }; }; export declare type AudioStream = { [key: string]: unknown; } & { type: 'audio'; codec: string; channels: number; language?: string; title?: string; disposition: Disposition; tags?: { [key: string]: any; }; }; export declare type SubtitlesStream = { [key: string]: unknown; } & { type: 'subtitles'; codec: string; language?: string; title?: string; disposition: Disposition; tags?: { [key: string]: any; }; }; export declare type Stream = ImageStream | VideoStream | AudioStream | SubtitlesStream; export declare type ImageMeta = { [key: string]: unknown; } & { path: string; type: 'image'; size: number; codec: string; container: string; width: number; height: number; sar: number; dar: number; displayWidth: number; displayHeight: number; pixelFormat: string; rawProbeData: RawProbeData; }; export declare type AudioMeta = { [key: string]: unknown; } & { path: string; type: 'audio'; size: number; codec: string; container: string; channels: number; duration: number; cover?: CoverStream; album?: string; genre?: string; language?: string; title?: string; artist?: string; album_artist?: string; track?: string; rawProbeData: RawProbeData; }; export declare type VideoMeta = { [key: string]: unknown; } & { path: string; type: 'video'; codec: string; container: string; duration: number; framerate: number; title?: string; size: number; width: number; height: number; sar: number; dar: number; displayWidth: number; displayHeight: number; streams: Stream[]; videoStreams: VideoStream[]; audioStreams: AudioStream[]; subtitlesStreams: SubtitlesStream[]; rawProbeData: RawProbeData; }; export declare type Meta = ImageMeta | AudioMeta | VideoMeta; export declare function ffprobe(filePath: string, { path: ffprobePath }?: { path?: string; }): Promise;