import { HTMLAttributes, ReactNode } from "react"; import { SelectOption, SelectOptionsByCategory, SingleSelectedOption } from "./shared/types"; import { SingleSelectOption } from "./single/SingleSelectOption"; import { STATUS_VARIANT } from "../../types"; interface SingleSelectBaseProps extends Pick, "className" | "style"> { selected: SingleSelectedOption; onChange: (newSelected: SingleSelectedOption) => void; children: ReactNode; inputValue?: string; isClearable?: boolean; isDisabled?: boolean; isLoading?: boolean; label?: string; onCreateOption?: (newOption: string) => void; onInputChange?: (newValue: string) => void; placeholder?: ReactNode; renderSelected?: ({ selectedItem, }: { selectedItem: SingleSelectedOption; }) => ReactNode; variant?: STATUS_VARIANT; } export interface SingleSelectBasicProps extends SingleSelectBaseProps { optionsDisplay?: "basic"; options: T[]; } export interface SingleSelectCategoriesProps extends SingleSelectBaseProps { optionsDisplay: "categories"; options: SelectOptionsByCategory[]; } export declare type SingleSelectProps = SingleSelectBasicProps | SingleSelectCategoriesProps; declare function SingleSelect({ selected, onChange, label, renderSelected, children, className, inputValue, onInputChange, isLoading, placeholder, isClearable, onCreateOption, isDisabled, variant: variantProp, ...props }: SingleSelectProps): JSX.Element; declare namespace SingleSelect { var Option: typeof SingleSelectOption; var Category: ({ titleSlot, children, }: import("./shared/SelectOptionCategory").SelectOptionCategoryProps) => JSX.Element; var Status: ({ children }: import("./shared/SelectStatus").SelectStatusProps) => JSX.Element; var defaultProps: { optionsDisplay: string; variant: STATUS_VARIANT; }; } export { SingleSelect };