import { Command } from 'commander';
import { type BrowserProfile } from '../lib/browser/profiles.js';
import { listInstalledBrowsers } from '../lib/browser/chrome.js';
/**
 * The fleet browser hub this box drives by default (`browser.device`), or
 * undefined to drive locally. It is one fleet-synced value in the central
 * agents.yaml, so every box reads the same hub name — but the hub itself resolves
 * to a self-host, and a fleet-dispatched invocation is already ON its target, so
 * both return undefined. That self short-circuit is what lets a single synced
 * value be safe: only the boxes that are NOT the hub forward to it, and the hub
 * never forwards to itself.
 */
export declare function defaultBrowserHub(): string | undefined;
export declare function registerBrowserCommand(program: Command): void;
export declare function registerBrowserSubcommands(program: Command): void;
interface BrowserUseOptions {
    unset?: boolean;
}
interface BrowserUseChoice {
    name: string;
    value: {
        name: string;
        installed?: ReturnType<typeof listInstalledBrowsers>[number];
    };
}
export declare function buildBrowserUseChoices(profiles: BrowserProfile[], installed: ReturnType<typeof listInstalledBrowsers>, current?: string): BrowserUseChoice[];
export declare function runBrowserUse(name: string | undefined, opts: BrowserUseOptions, interactive?: boolean): Promise<boolean>;
export {};
