import { AnyObject } from '@data-driven-forms/react-form-renderer'; import { SelectOption, OptionValue, FlatSelectOption } from '../types/shared-types'; export interface SelectState { isLoading: boolean; options: (SelectOption | FlatSelectOption)[]; promises: AnyObject; isInitialLoaded: boolean; originalOptions?: (SelectOption | FlatSelectOption)[]; } interface InitProps { propsOptions: SelectOption[]; optionsTransformer?: (options: AnyObject[]) => FlatSelectOption[]; } type ReducerAction = { type: 'updateOptions'; payload: SelectOption[]; optionsTransformer?: (options: AnyObject[]) => FlatSelectOption[]; } | { type: 'startLoading'; } | { type: 'setOptions'; payload: SelectOption[]; optionsTransformer?: (options: AnyObject[]) => FlatSelectOption[]; } | { type: 'initialLoaded'; } | { type: 'setPromises'; payload: AnyObject; options?: SelectOption[]; optionsTransformer?: (options: AnyObject[]) => FlatSelectOption[]; compareValues?: (value1: T, value2: T) => boolean; }; export declare const init: ({ propsOptions, optionsTransformer }: InitProps) => SelectState; declare const reducer: (state: SelectState, action: ReducerAction) => SelectState; export default reducer;