import { type Component, type Focusable } from "@sheason/pi-tui";
import type { RemoteInteractiveSessionView } from "../../interactive/remote-interactive-view.js";
type AvailableModel = RemoteInteractiveSessionView["availableModels"][number];
type CurrentModel = RemoteInteractiveSessionView["model"];
export declare class RemoteModelSelectorComponent implements Component, Focusable {
    private readonly models;
    private readonly currentModel;
    private readonly onSelectModel;
    private readonly onCancelSelection;
    private readonly onSelectError?;
    private readonly searchInput;
    private filteredModels;
    private selectedIndex;
    private _focused;
    get focused(): boolean;
    set focused(value: boolean);
    getFocusTarget(): Component;
    constructor(models: AvailableModel[], currentModel: CurrentModel, onSelectModel: (model: AvailableModel) => void | Promise<void>, onCancelSelection: () => void, onSelectError?: ((error: unknown) => void) | undefined);
    render(width: number): string[];
    handleInput(data: string): void;
    invalidate(): void;
    private submitSelectedModel;
    private filterModels;
}
export {};
//# sourceMappingURL=model-selector.d.ts.map