import { StateObservable, ActionsObservable } from 'redux-observable'; import { Observable } from 'rxjs'; import { Parameter, ParameterGroup, QuestionWithParameters, RecordClass, ParameterValues } from '../Utils/WdkModel'; import { EpicDependencies, ModuleEpic } from '../Core/Store'; import { Action } from '../Actions'; import { RootState } from '../Core/State/Types'; import { Step } from '../Utils/WdkUser'; export declare const key = "question"; export declare const DEFAULT_STRATEGY_NAME = "Unnamed Search Strategy"; export declare const DEFAULT_STEP_WEIGHT = 10; export declare type FilteredCountState = 'initial' | 'loading' | 'invalid' | number; export declare type GroupState = { isVisible: boolean; filteredCountState: FilteredCountState; }; export declare type QuestionWithMappedParameters = QuestionWithParameters & { parametersByName: Record; groupsByName: Record; }; export declare type QuestionState = { questionStatus: 'loading' | 'error' | 'not-found' | 'complete'; question: QuestionWithMappedParameters; recordClass: RecordClass; paramValues: ParameterValues; defaultParamValues: ParameterValues; paramUIState: Record; groupUIState: Record; paramErrors: Record; stepId: number | undefined; weight?: string; customName?: string; stepValidation?: Step['validation']; submitting: boolean; paramsUpdatingDependencies: Record; }; export declare type State = { questions: Record; }; export declare function reduce(state: State | undefined, action: Action): State; export declare const observe: (action$: ActionsObservable, state$: StateObservable, dependencies: EpicDependencies) => Observable; declare type QuestionEpic = ModuleEpic; export declare const observeQuestion: QuestionEpic; export {}; //# sourceMappingURL=QuestionStoreModule.d.ts.map