import React from 'react'; import { type ComponentSize } from '../../../lib/utils'; import { type GlassVariant } from '../../../lib/glass'; export interface CascaderOption { value: string; label: React.ReactNode; disabled?: boolean; children?: CascaderOption[]; isLeaf?: boolean; } export interface CascaderProps extends Omit, 'size' | 'onChange' | 'value'> { /** Label text */ label?: string; /** Whether the field is mandatory */ labelMandatory?: boolean; /** Whether to show optional indicator */ labelOptional?: boolean; /** Error message */ error?: string; /** Helper text */ helperText?: string; /** Component size */ size?: ComponentSize; /** Selected value path */ value?: string[]; /** Default value path */ defaultValue?: string[]; /** Callback when selection changes */ onChange?: (value: string[], selectedOptions: CascaderOption[]) => void; /** Placeholder text */ placeholder?: string; /** Allow clearing selection */ allowClear?: boolean; /** Expand trigger */ expandTrigger?: 'click' | 'hover'; /** Display render function */ displayRender?: (labels: React.ReactNode[], selectedOptions: CascaderOption[]) => React.ReactNode; /** Change on select (not just leaf nodes) */ changeOnSelect?: boolean; /** Show search */ showSearch?: boolean; /** * Cascader options (for composable API) */ children?: React.ReactNode; /** Glass morphism variant */ glass?: GlassVariant; } export interface CascaderOptionComponentProps { /** * Option value (required) */ value: string; /** * Option label/content */ children?: React.ReactNode; /** * Option label (alternative to children) */ label?: React.ReactNode; /** * Whether option is disabled */ disabled?: boolean; /** * Whether this is a leaf node (no children) */ isLeaf?: boolean; } export declare const Cascader: React.ForwardRefExoticComponent>; /** * CascaderOption Component * * A composable component for individual options in a Cascader component. * Can be nested to create hierarchical structures. * * @public * * @example * ```tsx * * * * * * * * * ``` */ export declare const CascaderOption: React.FC; export default Cascader; //# sourceMappingURL=Cascader.d.ts.map