import { List, Map } from "immutable"; import { Unit, Guid, ParsedFormJSON, BuiltIns, Sum, BasicFun, Template, EditFormState, ApiErrors, EntityFormTemplate, CreateFormState, EditFormContext, CreateFormContext, Synchronized, EditFormForeignMutationsExpected, ParsedType, InjectedPrimitives, Injectables, ApiConverters, PredicateValue, FieldPredicateExpressions, ValueOrErrors, PassthroughFormState, PassthroughFormContext, FieldName, ParsedRecordFormConfig, ParsedTableFormConfig, TableApiSources, PredicateComputedOrInlined } from "../../../../main"; import { EnumReference } from "../collection/domains/reference/state"; import { SearchableInfiniteStreamState } from "../primitives/domains/searchable-infinite-stream/state"; export type ParsedRecordForm = { initialFormState: any; formConfig: any; formName: string; formDef: ParsedRecordFormConfig; visibilityPredicateExpressions: FieldPredicateExpressions; disabledPredicatedExpressions: FieldPredicateExpressions; fieldLabels: Map; form: EntityFormTemplate; }; export type ParsedTableForm = { initialFormState: any; formConfig: any; formName: string; formDef: ParsedTableFormConfig; visibleColumns: PredicateComputedOrInlined; columnHeaders: Map; form: EntityFormTemplate; }; export declare const ParseRecordForm: (formName: string, formDef: ParsedRecordFormConfig, nestedContainerFormView: any, formViews: Record>, forms: ParsedForms, fieldsViewsConfig: any, infiniteStreamSources: any, enumOptionsSources: EnumOptionsSources, defaultValue: BasicFun, any>, defaultState: BasicFun, any>, injectedPrimitives?: InjectedPrimitives, tableApiSources?: TableApiSources) => Omit, "form">; export declare const ParseTableForm: (formName: string, formDef: ParsedTableFormConfig, nestedContainerFormView: any, formViews: Record>, forms: ParsedForms, cellViewsConfig: any, infiniteStreamSources: any, enumOptionsSources: EnumOptionsSources, defaultValue: BasicFun, any>, defaultState: BasicFun, any>, injectedPrimitives?: InjectedPrimitives, tableApiSources?: TableApiSources) => Omit, "form">; export declare const ParseForms: (builtIns: BuiltIns, injectedPrimitives: InjectedPrimitives | undefined, nestedContainerFormView: any, fieldViews: any, infiniteStreamSources: any, enumOptionsSources: EnumOptionsSources, tableApiSources?: TableApiSources) => (formsConfig: ParsedFormJSON) => ValueOrErrors, string>; export type EditLauncherContext = Omit & EditFormState & { extraContext: ExtraContext; containerFormView: any; submitButtonWrapper: any; }, "api" | "parser" | "actualForm">; export type CreateLauncherContext = Omit & CreateFormState & { extraContext: ExtraContext; containerFormView: any; submitButtonWrapper: any; }, "api" | "actualForm">; export type PassthroughLauncherContext = Omit & PassthroughFormState & { extraContext: ExtraContext; containerFormView: any; containerWrapper: any; }, "api" | "actualForm">; export type ParsedLaunchers = { create: Map() => { form: Template & CreateFormState, CreateFormState, Unit>; initialState: CreateFormState; }>; edit: Map() => { form: Template & EditFormState, EditFormState, EditFormForeignMutationsExpected>; initialState: EditFormState; }>; passthrough: Map() => { form: Template & PassthroughFormState, PassthroughFormState, Unit>; initialState: PassthroughFormState; fromApiParser: (value: any) => ValueOrErrors; toApiParser: (value: PredicateValue, formState: any, type: ParsedType) => ValueOrErrors; parseGlobalConfiguration: (raw: any) => ValueOrErrors; parsedFormType: ParsedType; parsedForms: Map>; }>; }; export type ParsedForms = Map | ParsedTableForm>; export type FormParsingErrors = List; export type FormParsingResult = Sum; export type EnumName = string; export type EnumOptionsSources = BasicFun>>>; export type StreamName = string; export type InfiniteStreamSources = BasicFun; export type ConfigName = string; export type GlobalConfigurationSources = BasicFun>; export type EntityName = string; export type EntityApis = { create: BasicFun>>; default: BasicFun>>; update: BasicFun Promise>; get: BasicFun>>; }; export declare const parseFormsToLaunchers: (builtIns: BuiltIns, injectedPrimitives: InjectedPrimitives | undefined, apiConverters: ApiConverters, containerFormView: any, nestedContainerFormView: any, fieldViews: any, infiniteStreamSources: InfiniteStreamSources, enumOptionsSources: EnumOptionsSources, entityApis: EntityApis, tableApiSources?: TableApiSources) => (formsConfig: ParsedFormJSON) => FormParsingResult; export type FormsParserContext = { containerFormView: any; nestedContainerFormView: any; fieldViews: any; fieldTypeConverters: ApiConverters; infiniteStreamSources: InfiniteStreamSources; enumOptionsSources: EnumOptionsSources; entityApis: EntityApis; getFormsConfig: BasicFun>; injectedPrimitives?: Injectables; tableApiSources?: TableApiSources; }; export type FormsParserState = { formsConfig: Synchronized; }; export declare const FormsParserState: { Default: () => FormsParserState; Updaters: { formsConfig: import("../../../../main").Widening; }; }; //# sourceMappingURL=state.d.ts.map