import type React from 'react'; export interface ProviderOption { id: string; family: string; /** Model ids the picker offers in step 2 for this provider. */ models: string[]; /** Optional dim hint shown next to the model list (e.g. "from saved config"). */ modelsLabel?: string | undefined; modelDetails?: Record | undefined; } export interface ModelPickerProps { step: 'provider' | 'model'; providerOptions: ProviderOption[]; /** All model options for the current provider. */ modelOptions: string[]; /** Filtered/searched model options (may differ when searchQuery is active). */ filteredOptions: string[]; selected: number; pickedProviderId?: string | undefined; /** Current search query (step 2 only). */ searchQuery?: string | undefined; /** Status hint (e.g. error from a failed switch attempt) shown at the bottom. */ hint?: string | undefined; /** * Overlay title. Defaults to 'Switch model' (the /model command); generic * `requestModelPick` callers pass their own (e.g. "Add council voter"). */ titleLabel?: string | undefined; columns?: number | undefined; maxRows?: number | undefined; } /** * Two-step Ink overlay for the TUI's `/model` command. * Step 1: pick a provider that has a key. * Step 2: pick a model bound to that provider (type to filter). * * Driven entirely by props — App owns cursor state, key events, and search. */ export declare function ModelPicker({ step, providerOptions, filteredOptions, selected, pickedProviderId, searchQuery, hint, titleLabel, columns, maxRows, }: ModelPickerProps): React.ReactElement; //# sourceMappingURL=model-picker.d.ts.map