import { type HarnessOption } from "./harness";
/** Props for {@link ModelSelector}. */
export interface ModelSelectorProps {
    /** Currently selected compound key (`"native/claude-sonnet-4.6"`) or plain `modelId`. */
    readonly value?: string;
    /** Called when the user picks a different model. Receives the `modelId`. */
    readonly onValueChange: (modelId: string) => void;
    /**
     * When provided, restricts the catalog to a single harness (backward compat).
     * When omitted, shows the unified picker with models from both engines.
     */
    readonly harness?: HarnessOption;
    /**
     * Fires when the selected model belongs to a different harness than
     * the previous selection. Only relevant in unified mode (no `harness` prop).
     */
    readonly onHarnessResolved?: (harness: HarnessOption) => void;
    /** Additional CSS class names for the trigger button. */
    readonly className?: string;
    /** When true, disables the selector. */
    readonly disabled?: boolean;
}
/**
 * Cursor-style model picker: a flat searchable list inside a popover.
 *
 * Shows a curated list of featured models by default. The user can
 * expand via "Show All Models" or type to search the full catalog.
 *
 * Each model row shows the display name, an engine tag
 * ("Stigmer" / "Cursor"), and a cost-tier indicator.
 *
 * In unified mode (no `harness` prop), selecting a model implicitly
 * resolves the harness via {@link ModelSelectorProps.onHarnessResolved}.
 *
 * @example
 * ```tsx
 * <ModelSelector
 *   value={selectedModelId}
 *   onValueChange={setSelectedModelId}
 *   onHarnessResolved={setHarness}
 * />
 * ```
 */
export declare function ModelSelector({ value, onValueChange, harness, onHarnessResolved, className, disabled, }: ModelSelectorProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=ModelSelector.d.ts.map