/// export declare type AutocompleteValue = { id: number | string; name: string; }; export interface AutocompleteProps extends Omit, "options" | "value" | "onChange"> { searchFunc: (searchString: string) => Promise; value?: AutocompleteValue; onChange: (v: AutocompleteValue) => void; } export interface OptionSet { id: A; name: string; } /** * generic input props */ export interface InputProps { onChange: (v: A | undefined) => void; value?: A; errors?: string[]; disabled?: boolean; placeholder?: string; } export interface SelectProps extends InputProps { options: OptionSet[]; } export interface SelectOptionSetProps extends InputProps> { options: OptionSet[]; } /** * select props for dropdowns that return either a string or number (ie. enum) */ export declare type InputTypeString = "text" | "email" | "password"; /** * select props for dropdowns that return an option set */ export declare type InputType = InputTypeString | "number"; export interface SelectProps extends InputProps { options: OptionSet[]; } export interface SelectOptionSetProps extends InputProps> { options: OptionSet[]; } export declare type FormOptions = OptionSet[]; export declare type FormOptionsMap = Map>; export interface WrapperProps { label?: string; info?: string; children: JSX.Element | JSX.Element[]; errors?: string[]; } export declare enum FormType { Number = 0, Text = 1, Select = 2, SelectObject = 3, Switch = 4 }