export type UiChoice = "tui" | "classic" | "noninteractive"; export interface UiSelectionOptions { readonly ui?: string | undefined; readonly tui?: boolean | undefined; readonly classic?: boolean | undefined; } export interface PlatformProbe { readonly platform: NodeJS.Platform; readonly stdoutIsTTY: boolean; readonly stdinIsTTY: boolean; readonly columns: number | undefined; readonly rows: number | undefined; } export type UiChoiceSource = "ui-flag" | "classic-flag" | "tui-flag" | "clai-ui-env" | "classic-env" | "plain-env" | "platform-default"; export interface UiSelectionExplanation { readonly choice: UiChoice; readonly source: UiChoiceSource; readonly reason: string; } export declare const UI_FLAG_CHOICES: readonly ["tui", "v2", "opentui", "classic", "legacy", "ink"]; export declare function normalizeUiToken(value: string | undefined): UiChoice | undefined; export declare function defaultUiForPlatform(input: PlatformProbe): UiChoice; export declare function currentPlatformProbe(): PlatformProbe; export declare function explainUiChoice(options: UiSelectionOptions, env?: NodeJS.ProcessEnv, platform?: PlatformProbe): UiSelectionExplanation; export declare function resolveUiChoice(options: UiSelectionOptions, env?: NodeJS.ProcessEnv, platform?: PlatformProbe): UiChoice; export declare function isTuiRequested(options: UiSelectionOptions, env?: NodeJS.ProcessEnv, platform?: PlatformProbe): boolean; export declare function describeUiDefault(): string;