import * as React from "react";
import * as SelectPrimitive from "@radix-ui/react-select";
/**
* Option definition for the Select Config API.
*/
export interface SelectOption {
/** The value submitted when this option is selected */
value: string;
/** Display label */
label: string;
/** Whether this option is disabled */
disabled?: boolean;
}
/**
* Option group definition for the Select Config API.
*/
export interface SelectOptionGroup {
/** Group label displayed above the options */
label: string;
/** Options within this group */
options: SelectOption[];
}
/**
* Props for the ZeroShot Select component.
*
* @example Compositional API:
* ```tsx
*
* ```
*
* @example Config API (AI-optimized):
* ```tsx
*
* ```
*/
export interface SelectProps extends React.ComponentPropsWithoutRef {
/**
* Config API: Flat list of options to render.
* When provided, auto-generates SelectTrigger, SelectContent, and SelectItems.
* If `children` is also provided, `children` takes precedence.
*/
options?: SelectOption[];
/**
* Config API: Grouped options. Renders SelectGroup with SelectLabel headers.
* Mutually exclusive with `options` (groups take precedence).
*/
groups?: SelectOptionGroup[];
/**
* Placeholder text shown when no value is selected.
* @example
*/
placeholder?: string;
/**
* Label text rendered above the select.
* @example
*/
label?: string;
/**
* Error message displayed below the select.
* @example
*/
error?: string;
/**
* Additional className applied to the trigger element.
*/
triggerClassName?: string;
}
declare const Select: React.ForwardRefExoticComponent>;
declare const SelectGroup: React.ForwardRefExoticComponent>;
declare const SelectValue: React.ForwardRefExoticComponent>;
declare const SelectTrigger: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectScrollUpButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectScrollDownButton: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectLabel: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectItem: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
declare const SelectSeparator: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>;
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
//# sourceMappingURL=select.d.ts.map