import { Command } from 'commander'; import type { LaunchInput } from '../camoufox/config.js'; export interface SharedOptions { session?: string | undefined; tabname?: string | undefined; headless?: boolean | undefined; browser?: string | undefined; config?: string | undefined; configJson?: string | undefined; prefs?: string | undefined; prefsJson?: string | undefined; fingerprint?: string | undefined; fingerprintJson?: string | undefined; preset?: string[] | undefined; proxy?: string | undefined; locale?: string | undefined; locales?: string[] | undefined; region?: string | undefined; timezone?: string | undefined; screenProfile?: string | undefined; windowProfile?: string | undefined; blockImages?: boolean | undefined; blockWebrtc?: boolean | undefined; blockWebgl?: boolean | undefined; disableCoop?: boolean | undefined; width?: number | undefined; height?: number | undefined; json?: boolean | undefined; verbose?: boolean | undefined; } export interface OutputOptions { json?: boolean | undefined; verbose?: boolean | undefined; force?: boolean | undefined; } export interface CliHandlers { onInstall: (version: string | undefined, options: OutputOptions) => Promise; onRemove: (version: string | undefined, options: OutputOptions) => Promise; onUse: (version: string, options: OutputOptions) => Promise; onVersions: (options: OutputOptions) => Promise; onRemoteVersions?: (options: OutputOptions) => Promise; onPresets: (options: OutputOptions) => Promise; onFingerprintProfiles: (options: OutputOptions) => Promise; onPath: (options: OutputOptions) => Promise; onVersion: (options: OutputOptions) => Promise; onDoctor: (options: OutputOptions) => Promise; onDaemonAction: (action: string, payload: Record, options: SharedOptions) => Promise; onDaemonStop?: (options: OutputOptions) => Promise; onDaemonRestart?: (options: OutputOptions) => Promise; onDaemonCleanup?: (options: OutputOptions) => Promise; } export interface ProgramOptions { quietErrors?: boolean | undefined; } export declare function parseInteger(value: string): number; export declare function toLaunchInput(options: SharedOptions): LaunchInput; export declare function createProgram(handlers: CliHandlers, options?: ProgramOptions): Command;