declare const XVFB_SCREEN_SIZE = "1920x1080";
export { resolveRecordPlan, coerceRecordContextBrowser, safeContextId, browserCaptureTitle, browserDownloadDir, buildCaptureArgs, resolveCropGeometry, jobIsFfmpegRecording, computeEffectiveConcurrency, getFfmpegPath, detectMacScreenIndex, parseMacScreenIndex, checkSystemBinary, xvfbDisplay, startXvfb, XVFB_SCREEN_SIZE, detectX11ScreenSize, };
declare function safeContextId(contextId: any): string;
declare function browserCaptureTitle(contextId: string): string;
declare function browserDownloadDir(contextId: string): string;
type RecordPlan = {
    name: "browser" | "ffmpeg";
    target: string;
    fps: number;
};
declare function resolveRecordPlan({ step, context, }: {
    step: any;
    context: any;
}): RecordPlan;
declare function coerceRecordContextBrowser({ context, availableApps, }: {
    context: any;
    availableApps: any[];
}): {
    name: string;
    headless: boolean;
} | null;
declare function buildCaptureArgs({ platform, fps, displayEnv, outputPath, screenIndex, screenSize, }: {
    platform: string;
    fps: number;
    displayEnv?: string;
    outputPath: string;
    screenIndex?: string;
    screenSize?: string;
}): string[];
declare function resolveCropGeometry({ driver, target, }: {
    driver: any;
    target: string;
}): Promise<{
    x: number;
    y: number;
    w: number;
    h: number;
} | null>;
declare function jobIsFfmpegRecording(job: any): boolean;
declare function computeEffectiveConcurrency({ requestedLimit, jobs, platform, xvfbAvailable, }: {
    requestedLimit: number;
    jobs: any[];
    platform: string;
    xvfbAvailable: boolean;
}): {
    limit: number;
    xvfbContexts: any[];
    forcedSerial: boolean;
};
declare function getFfmpegPath(ctx?: {
    cacheDir?: string;
}): Promise<string>;
declare function parseMacScreenIndex(listing: string): string | null;
declare function detectMacScreenIndex(ffmpegPath: string): Promise<string | null>;
declare function detectX11ScreenSize(display?: string): Promise<string | null>;
declare function checkSystemBinary(name: string): Promise<boolean>;
declare function xvfbDisplay(index: number): string;
declare function startXvfb(display: string, opts?: {
    width?: number;
    height?: number;
}): Promise<any>;
//# sourceMappingURL=ffmpegRecorder.d.ts.map