/** What the installed CLI says about itself. */ export interface CliFacts { /** Its version, as it prints it, or null when it did not answer. */ version: string | null; /** The model names it documents, or empty when it documents none. */ models: string[]; } /** * The version, from the CLI's own `--version`. * * The number is picked out of the line rather than taken from the front of it, * because where a CLI puts its own name is its business: one prints * `2.1.263 (Claude Code)` and another `codex-cli 0.153.4`, and a parser that * took the leading token would answer the second with its whole line. The * panel prints this under a label that already names the tool, so repeating * the product name there would say it twice. * * A line with no dotted number in it is handed back whole. That is a CLI * versioning itself in a way lookout did not anticipate, and showing what it * actually said beats showing nothing. */ export declare function cliVersion(bin: string): Promise; /** * Everything the panel needs about one installed CLI, asked once. * * The two questions are independent, so they are asked at the same time: a * panel that opened in the time of one subprocess should not take the time of * two. Neither can reject. */ export declare function probeCli(bin: string): Promise;