///
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
}