/// export interface CustomClasses { results?: string; hover?: string; input?: string; resultsTruncated?: string; listItem?: string; customAdd?: string; listAnchor?: string; nav?: string; } export interface TokenCustomClasses extends CustomClasses { token?: string; typeahead?: string; tokenList?: string; } export declare type EventType = React.MouseEvent | React.KeyboardEvent; export declare type SelectorOptionSelector = (result: Opt, event: EventType) => void; export declare type OptionSelect = (option: T | undefined, event?: EventType) => void; export declare type HandleOnOptionSelectArg = (option?: Option | string | undefined, event?: EventType) => void; export interface OptionsObject { [propName: string]: unknown; } export declare type Option = string | number | OptionsObject; export declare type OptionToStrFn = (option: T, index?: number) => string | number; export declare type SelectorType = string | OptionToStrFn; export interface TrueOptionProp { options: Opt[]; allowCustomValues: true; onOptionSelected?: OptionSelect; } export interface FalseOptionProp { options: Opt[]; allowCustomValues?: false; onOptionSelected?: OptionSelect; } export interface OptionsProps { options: Opt[]; allowCustomValues?: boolean; onOptionSelected?: OptionSelect