/** * Setup CLI command handler. * * Handles `gjc setup [component]` to install the normal defaults or optional feature dependencies. */ import { AuthStorage, SqliteAuthCredentialStore } from "@gajae-code/ai/core"; import { runExternalCredentialAutoImport } from "../setup/credential-auto-import"; export type SetupComponent = "claude" | "codex" | "credentials" | "defaults" | "hermes" | "hooks" | "paseo" | "provider" | "python" | "stt"; export interface SetupCommandArgs { component: SetupComponent; flags: { json?: boolean; check?: boolean; force?: boolean; preset?: string; compat?: string; provider?: string; baseUrl?: string; apiKeyEnv?: string; model?: string[]; modelsPath?: string; smoke?: boolean; install?: boolean; root?: string[]; repo?: string; profile?: string; sessionCommand?: string; remove?: boolean; mpreset?: string; noWorktree?: boolean; worktreeName?: string; requireWorktree?: boolean; stateRoot?: string; codingAgentDir?: string; mutation?: string[]; artifactByteCap?: string; serverKey?: string; gjcCommand?: string; target?: string; profileDir?: string; timeout?: string; connectTimeout?: string; yes?: boolean; dryRun?: boolean; keychain?: boolean; }; } /** * Parse setup subcommand arguments. * Returns undefined if not a setup command. */ export declare function parseSetupArgs(args: string[]): SetupCommandArgs | undefined; /** * Install Python packages using uv (preferred) or pip. */ /** * Run the setup command. */ export declare function runSetupCommand(cmd: SetupCommandArgs): Promise; /** * Discover existing Claude Code / Codex CLI credentials and import them into the * gjc credential store after a redacted preview + confirmation. Falls back to * manual-setup guidance when nothing importable is found. */ export interface CredentialsSetupDependencies { openStore?: typeof SqliteAuthCredentialStore.open; createAuthStorage?: (store: SqliteAuthCredentialStore) => AuthStorage; discover?: Parameters[0]["discover"]; } export declare function handleCredentialsSetup(flags: { json?: boolean; yes?: boolean; dryRun?: boolean; keychain?: boolean; }, deps?: CredentialsSetupDependencies): Promise; /** * Print setup command help. */ export declare function printSetupHelp(): void;