import { HTMLAttributes, ReactNode } from 'react'; import { PopoverProps } from '@radix-ui/react-popover'; import { HorizontalDirection } from '../../types'; import { ImageName } from '../Icon'; type DivProps = HTMLAttributes; interface SelectItemComponentProps extends Omit { separator?: boolean; disabled?: boolean; onSelect?: (value: string) => void; value: string; icon?: ImageName; iconDir?: HorizontalDirection; } type SelectItemChildren = { children: ReactNode; label?: never; }; type SelectItemLabel = { children?: never; label: ReactNode; }; export interface SelectGroupProps extends Omit, 'heading'> { heading: ReactNode; value?: never; onSelect?: never; } export interface SelectOptionItem extends Omit { heading?: never; label: ReactNode; [key: `data-${string}`]: string; } interface SelectGroupOptionItem extends Omit { options: SelectOptionItem[]; label?: never; [key: `data-${string}`]: string; } export type AutoCompleteOptionListItem = SelectGroupOptionItem | SelectOptionItem; export type SelectItemProps = SelectItemComponentProps & (SelectItemChildren | SelectItemLabel); type SelectOptionType = { options: AutoCompleteOptionListItem[]; children?: never; }; type SelectChildrenType = { children: ReactNode; options?: never; }; interface Props extends PopoverProps, Omit { onSelect?: (value: string) => void; value?: string; placeholder?: string; onOpenChange?: (open: boolean) => void; label?: ReactNode; container?: HTMLElement | null; error?: ReactNode; disabled?: boolean; dir?: 'start' | 'end'; orientation?: 'horizontal' | 'vertical'; allowCreateOption?: boolean; } export type AutoCompleteProps = (SelectOptionType & Props) | (SelectChildrenType & Props); export declare const SelectPopoverRoot: import('react').FC; export declare const AutoComplete: { ({ onSelect: onSelectProp, options, children, onOpenChange: onOpenChangeProp, disabled, value, placeholder, container, ...props }: AutoCompleteProps): import("react/jsx-runtime").JSX.Element; Group: import('react').ForwardRefExoticComponent>; Item: import('react').ForwardRefExoticComponent>; }; export declare const Group: import('react').ForwardRefExoticComponent>; export declare const Item: import('react').ForwardRefExoticComponent>; export {};