/** Path to Claude Code's user-level settings file. */ export declare function claudeSettingsPath(): string; /** Direct command: just our badge, no chaining. Simplest, no dependency. */ export declare const PLAIN_COMMAND = "claude switch sl --no-color"; /** Embedded: our badge AND the model/cwd/version that ccstatusline used to * provide. Reads CC's per-redraw JSON from stdin internally; no npx, no * dependency, no subshell. This is the recommended default — supersedes * the ccstatusline chain. */ export declare const EMBEDDED_COMMAND = "claude switch sl --embedded --no-color"; export declare const CCSTATUSLINE_VERSION = "2.2.12"; /** Chained with ccstatusline so the user keeps the rest of their bar. * Pinned for deterministic installs; avoid executing registry `latest` * inside Claude Code's frequently-rendered statusline hook. */ export declare const CCSTATUSLINE_COMMAND = "bash -c 'INPUT=$(cat); claude switch sl; echo \"$INPUT\" | npx -y ccstatusline@2.2.12'"; type ExistingStatus = { kind: 'absent'; } | { kind: 'ours-plain'; } | { kind: 'ours-embedded'; } | { kind: 'ours-ccstatusline'; } | { kind: 'foreign'; command: string; }; /** * Read the current statusLine block from `~/.claude/settings.json` and * classify it. Returns 'absent' if the file or block is missing, 'ours-*' * if the command is one we ourselves would have written, or 'foreign' * with the raw command otherwise. */ export declare function detectExistingStatusLine(settingsPath?: string): ExistingStatus; /** * Write `statusLine.command` to `settingsPath`, preserving every other key * in the file. Creates the file (and `~/.claude/`) if they don't exist. */ export declare function installStatusLine(command: string, settingsPath?: string): void; /** * Remove the statusLine block we previously installed. If the current * statusLine is foreign (not ours), do nothing. Returns true if a * removal actually happened. */ export declare function uninstallStatusLine(settingsPath?: string): boolean; export {};