export type CliOptions = { appConnector?: string | undefined; artifacts?: boolean | undefined; browserBinary?: boolean; browserPath?: string | undefined; chat?: string | undefined; chatId?: string | undefined; chatUrl?: string | undefined; config?: string | undefined; connector?: string | undefined; deepResearch?: boolean | undefined; dryRun?: boolean | undefined; headless?: boolean | undefined; idleDraftTimeout?: string | undefined; listPresets?: boolean | undefined; minimumMarkedResponseTime?: string | undefined; model?: string | undefined; noArtifacts?: boolean | undefined; noTests?: boolean | undefined; tests?: boolean | undefined; preset?: string[] | undefined; prompt?: string[] | undefined; promptFile?: string[] | undefined; withTests?: boolean | undefined; responseFile?: string | undefined; responseMarker?: string | undefined; send?: boolean | undefined; submit?: boolean | undefined; thinking?: string | undefined; timeout?: string | undefined; wait?: boolean | undefined; waitTimeout?: string | undefined; zip?: boolean | undefined; }; type RunContext = { cwd: string; }; export type ReviewGptRunResult = { artifactsAttached: boolean; autoSend: boolean; baseCommit?: string; browserEndpoint: string; captureMetadataPath?: string; chatId?: string; chatUrl: string; deepResearch: boolean; draftMode: 'chat' | 'deep-research'; dryRun: boolean; responseFile?: string; selectedPresets: string[]; waitResponse: boolean; wakeCommand?: string[]; }; type ManagedBrowserBackgroundMode = 'balanced' | 'unthrottled'; type ManagedBrowserDisplayMode = 'headful' | 'headless'; type ManagedBrowserLaunchMode = 'foreground' | 'background'; export declare function normalizeToken(value: string): string; export declare function isCurrentTarget(value?: string): boolean; export declare function parseDurationToMs(rawValue: string): string; export declare function extractUrlOrigin(url: string): string; export declare function resolveChatTargetUrl(rawTarget: string, baseUrl: string): string; export declare function closeManagedBrowserIfIdle(port: string): Promise<'already-closed' | 'busy' | 'closed'>; export declare function managedBrowserBackgroundArgs(mode: ManagedBrowserBackgroundMode): string[]; export declare function managedBrowserDisplayArgs(mode: ManagedBrowserDisplayMode): string[]; export declare function managedBrowserLaunchArgs(displayMode: ManagedBrowserDisplayMode, launchMode: ManagedBrowserLaunchMode, startUrl: string): string[]; /** * Review context leaves the machine, so credential-shaped files must never reach * an attachment. This runs on the packaged ZIP itself rather than trusting the * repo-supplied package script to have filtered them. */ export declare function sensitiveArtifactReason(rawPath: string): string | undefined; export declare function findSensitiveArtifactPaths(paths: string[]): { path: string; reason: string; }[]; export declare function formatSensitiveArtifactFailure(zipPath: string, findings: { path: string; reason: string; }[]): string; export declare function runReviewGpt(options: CliOptions, context: RunContext): Promise; export declare function buildReplayableWakeCommand(input: { browserEndpoint: string; captureMetadataPath?: string; chatUrl: string; }): string[]; export declare function extractConversationUrlFromDriverOutput(output: string | Buffer | null | undefined): string | undefined; export {};