export type UseSelectOption = T & { value: string; }; export type UseOpenProps = { defaultOpen?: boolean; open?: boolean; onClose?: () => void; onOpenChange?: (open: boolean) => void; }; export type UseSelectProps = { value?: string[]; defaultValue?: string[]; multiple?: boolean; onUpdate?: (value: string[]) => void; disabled?: boolean; } & UseOpenProps; export type UseSelectResult = { open: boolean; value: string[]; activeIndex: number | undefined; handleSelection: (option: UseSelectOption) => void; handleClearValue: () => void; setValue: (value: string[]) => void; toggleOpen: (val?: boolean | undefined) => void; setActiveIndex: React.Dispatch>; };