/**
 * Consolidated CLI registry — single source of truth for all supported
 * agent CLI metadata: binary names, non-interactive args, bypass flags,
 * and well-known install paths.
 *
 * Consumers: runner.ts (buildNonInteractiveCommand, resolveCursorCli),
 * spawn-from-env.ts (BYPASS_FLAGS), cli-resolver.ts (path resolution).
 *
 * NOTE: The Rust PTY spawner (crates/broker/src/pty.rs) maintains its own PATH fallback.
 * When updating `COMMON_SEARCH_PATHS` here, also update the Rust fallback
 * in `resolve_command_path()` at crates/broker/src/pty.rs.
 */
import type { AgentCli } from './workflows/types.js';
export interface CliDefinition {
    /** Binary name(s) to try, in order of preference */
    binaries: string[];
    /** Build non-interactive mode args for a one-shot task */
    nonInteractiveArgs: (task: string, extraArgs?: string[]) => string[];
    /** Bypass flag for auto-approve / unattended mode */
    bypassFlag?: string;
    /** Bypass flag aliases (alternative forms accepted by the CLI) */
    bypassAliases?: string[];
    /** Extra install paths to check beyond PATH (resolved relative to $HOME) */
    searchPaths?: string[];
    /** When true, non-zero exit codes are not treated as failures (some CLIs exit non-zero on success) */
    ignoreExitCode?: boolean;
}
/**
 * Common install directories checked when PATH is empty or incomplete.
 * Paths containing `~` are expanded at resolution time.
 *
 * Keep in sync with the Rust fallback in crates/broker/src/pty.rs `resolve_command_path()`.
 */
export declare const COMMON_SEARCH_PATHS: string[];
/**
 * Get the CLI definition for a given CLI identifier.
 * Handles `cli:model` variants (e.g. `claude:opus`) by extracting the base CLI.
 */
export declare function getCliDefinition(cli: string): CliDefinition | undefined;
/**
 * Get the full registry (read-only).
 */
export declare function getCliRegistry(): Readonly<Record<AgentCli, CliDefinition>>;
//# sourceMappingURL=cli-registry.d.ts.map