import type { createInterface } from 'node:readline';
export interface SelectItem {
    /** 主展示文本。 */
    readonly label: string;
    /** 暗色后缀（如 cliId / 命令前缀），仅展示用。 */
    readonly hint?: string;
    /** 选中后还有二级菜单（渲染 ▸）。 */
    readonly submenu?: boolean;
}
/**
 * Raw-mode 单选 + 输入过滤。返回选中项在 `items` 中的下标；取消（Esc / Ctrl-C）
 * 返回 null。要求处于 TTY；非 TTY 直接返回 null（调用方回退）。
 */
export declare function interactiveSelect(opts: {
    title: string;
    items: ReadonlyArray<SelectItem>;
    footer?: string;
}): Promise<number | null>;
/**
 * 级联 CLI 选择器：顶层列出所有 CLI（Aiden 带 ▸），选 Aiden 进二级菜单
 * （原生 / × Claude / × Codex）。返回选择键（CLI_SELECT_OPTIONS 的 key），
 * 取消返回 null。
 *
 * 非 TTY 回退：打印带序号的扁平列表，用 readline 读「序号 / key」。
 */
export declare function pickCliSelection(rl: ReturnType<typeof createInterface>, opts?: {
    title?: string;
    currentKey?: string;
}): Promise<string | null>;
//# sourceMappingURL=interactive-select.d.ts.map