export interface SelectOption { value: string; label: string; /** * NB-SELECT-DISABLE-01 — render the option but make it non-selectable * (visible-but-locked). Keyboard nav / pointer / typeahead all skip it. */ disabled?: boolean; /** NB-SELECT-DISABLE-01 — native title tooltip shown on the disabled row. */ disabledReason?: string; } export interface SelectProps { options: SelectOption[]; value?: string; onChange?: (value: string) => void; placeholder?: string; disabled?: boolean; error?: string; searchable?: boolean; className?: string; /** * Trigger height/density. "sm" mirrors the Input atom's sm variant (28px, * font-xs, tighter padding) for compact chrome-less contexts like the * pagination page-size control. @default "md" */ selectSize?: "sm" | "md"; /** * Render the "Konsol Hattı" baseline rail (resting bottom edge + focus/open * accent sweep). Set false for compact chrome-less contexts (e.g. the * pagination page-size control) where the rail reads as an unwanted line. * @default true */ baseline?: boolean; /** * Render a clear ("✕") control next to the chevron while a value is set, * emitting `onChange("")`. Off by default — an unconditional clear-✕ existed * pre-1.8.0 and was removed because chrome-less contexts (the Pagination * page-size control) must never show one. Turn it on for an OPTIONAL form * field that is pre-filled with a default: without it the user cannot return * the field to empty, so an optional field behaves as required * (NB-SELECT-CLEAR-01). @default false */ clearable?: boolean; /** ARIA forwarding — injected by FormField via cloneElement */ "aria-invalid"?: boolean | "true" | "false"; "aria-describedby"?: string; "aria-required"?: boolean | "true" | "false"; id?: string; } export declare const Select: import('react').ForwardRefExoticComponent>; //# sourceMappingURL=Select.d.ts.map