import { Executor } from './Executor'; import { ICompiler } from '../Compiler'; export declare class ProbeExecutor extends Executor> { compiler: ICompiler; file: string; args: string[]; constructor(file?: string); protected probeNormalizeTracks(tracks: any[]): TrackMediaMetadata[]; protected probeNormalizeFormat(format: any): FormatMediaMetadata; protected probeNormalize(metadata: any, track: string): MediaMetadata; transformResult(resultString: string): any; execute(): Promise; } export interface TrackMediaMetadata { index: number; typeIndex: string; file: number; type: 'video' | 'audio' | string; codec: string; bitrate: number; size: number; frames: number; width: number; height: number; sampleAspectRatio: Fraction; aspectRatio: Fraction; framerate: number; sampleRate: number; channels: number; duration: number; } export interface FormatMediaMetadata { name: string; startTime: number; duration: number; size: number; bitrate: number; } export interface FileMediaMetadata { id: string; index: number; duration: number; format: FormatMediaMetadata; tracks: TrackMediaMetadata[]; } export interface MediaMetadata { files: FileMediaMetadata[]; tracks: TrackMediaMetadata[]; } export declare class Fraction { numerator: number; denominator: number; constructor(numerator: number, denominator?: number); toNumber(): number; toString(separator?: string): string; static parse(str: string, separator?: string): Fraction; } export declare function probe(file: string): Promise;