import type { Model } from "@pk-nerdsaver-ai/pi-ai";
import { Container, Input, type TUI } from "@pk-nerdsaver-ai/pi-tui";
import type { ModelRegistry } from "../../config/model-registry";
import type { Settings } from "../../config/settings";
import { type ConfiguredThinkingLevel } from "../../thinking";
interface ScopedModelItem {
    model: Model;
    thinkingLevel?: string;
}
type RoleSelectCallback = (model: Model, role: string | null, thinkingLevel?: ConfiguredThinkingLevel, selector?: string) => void;
/**
 * Component that renders a model selector with provider tabs and context menu.
 * - Tab/Arrow Left/Right: Switch between provider tabs
 * - Arrow Up/Down: Navigate model list
 * - Enter: Open context menu to select action
 * - Escape: Close menu or selector
 */
export declare class ModelSelectorComponent extends Container {
    #private;
    constructor(tui: TUI, _currentModel: Model | undefined, settings: Settings, modelRegistry: ModelRegistry, scopedModels: ReadonlyArray<ScopedModelItem>, onSelect: RoleSelectCallback, onCancel: () => void, options?: {
        temporaryOnly?: boolean;
        initialSearchInput?: string;
        currentContextTokens?: number;
    });
    handleInput(keyData: string): void;
    getSearchInput(): Input;
}
export {};
