export interface TransientResult { path: string; /** Seconds from file start where the first audible event begins, or null. */ transientSec: number | null; } export interface MulticamSyncResult { /** Path used as the t=0 reference (transient closest to file start). */ reference: string; results: Array<{ path: string; /** Positive = file starts later than reference. null = no transient detected. */ offsetSec: number | null; transientSec: number | null; }>; thresholdDb: number; /** Set if any input had no detectable transient. */ warning?: string; } /** * Detect the first transient (end of leading silence) in a media file. * * Runs `silencedetect` with a strict noise floor and a long min-silence so the * lead-in counts as silence; the first `silence_end` is the first audible event. */ export declare function detectFirstTransient(inputPath: string, opts?: { thresholdDb?: number; minSilenceSec?: number; signal?: AbortSignal; }): Promise; /** * Align 2+ inputs by their first transient. Pick the input with the smallest * transient as reference (transient at t=0 in the synced timeline). Other * offsets = transient[i] - reference.transient. */ export declare function multicamSync(inputPaths: string[], opts?: { thresholdDb?: number; minSilenceSec?: number; signal?: AbortSignal; }): Promise; //# sourceMappingURL=multicam.d.ts.map