import type { Api, Model } from "@bastani/pi-ai/compat"; import { Container, type Focusable, Input } from "@earendil-works/pi-tui"; export interface ModelsConfig { allModels: readonly Model[]; enabledModelIds: string[] | null; refreshStatus?: string; } export interface ModelsCallbacks { /** Called whenever the enabled model set or order changes. */ onChange: (enabledModelIds: string[] | null) => void | Promise; onCancel: () => void; } /** * Component for enabling/disabling models for Ctrl+P cycling. * Changes are saved automatically by the caller. */ export declare class ScopedModelsSelectorComponent extends Container implements Focusable { private modelsById; private allIds; private enabledIds; private filteredItems; private selectedIndex; private searchInput; private _focused; get focused(): boolean; set focused(value: boolean); private listContainer; private footerText; private callbacks; private maxVisible; private refreshStatusText?; constructor(config: ModelsConfig, callbacks: ModelsCallbacks); updateModels(models: readonly Model[], enabledModelIds?: string[] | null): void; setRefreshStatus(message: string, kind: "muted" | "success" | "warning"): void; private buildItems; private getFooterText; private refresh; private notifyChange; private updateList; handleInput(data: string): boolean; getSearchInput(): Input; } //# sourceMappingURL=scoped-models-selector.d.ts.map