import { OrderedSet, Map } from "immutable"; import { BasicUpdater, Unit, Debounced, Synchronized, FormFieldPredicateEvaluation, FieldName, PredicateValue, ValueRecord, Delta, ParsedType, PredicateFormLayout, Sum, AsyncState } from "../../../../main"; import { Template, View } from "../../../template/state"; import { Value } from "../../../value/state"; export type ToPathUnions = a[keyof a]; export type Paths = { [f in keyof Entity]: f extends keyof NestedPaths ? [f, ToPathUnions] : [f]; }; export type ValidationError = string; export type FieldValidation = Array; export type Path = Array; export type ValidationErrorWithPath = [Path, ValidationError]; export type FieldValidationWithPath = Array; export declare const FieldValidationWithPath: { Default: { fromFieldValidation: (_: FieldValidation) => FieldValidationWithPath; }; }; export type FormValidatorSynchronized = Synchronized; export type CommonFormState = { modifiedByUser: boolean; validation: Debounced; }; export declare const CommonFormState: { Default: () => CommonFormState; }; export type EntityFormState = { formFieldStates: { [f in Fields]: { customFormState: FieldStates[f]; commonFormState: CommonFormState; formFieldStates: FieldStates[f]; elementFormStates: FieldStates[f]; }; }; commonFormState: CommonFormState; }; export type EntityFormContext = Context & EntityFormState & { disabled: boolean; visible: boolean; elementVisibilities: FormFieldPredicateEvaluation[] | undefined; elementDisabledFields: FormFieldPredicateEvaluation | undefined; extraContext: any; visibilities: FormFieldPredicateEvaluation | undefined; disabledFields: FormFieldPredicateEvaluation | undefined; label?: string; type: ParsedType; layout: PredicateFormLayout; globalConfiguration: Sum | AsyncState; } & Value & { rootValue: ValueRecord; }; export type OnChange = (updater: BasicUpdater, delta: Delta) => void; export type EntityFormForeignMutationsExpected = ForeignMutationsExpected & { onChange: OnChange; }; export type FieldTemplates = { [f in Fields]: EmbeddedFieldTemplate; }; export type EntityFormView = View, EntityFormState, EntityFormForeignMutationsExpected, { EmbeddedFields: FieldTemplates; VisibleFieldKeys: OrderedSet; DisabledFieldKeys: OrderedSet; FieldLabels: Map; }>; export type EntityFormTemplate = Template, EntityFormState, EntityFormForeignMutationsExpected, EntityFormView>; export type EmbeddedFieldTemplate = Template & { disabled: boolean; }, EntityFormState, EntityFormForeignMutationsExpected>; export type FormStateFromEntity = { formFieldStates: { [f in keyof E]: f extends keyof S ? { customFormState: S[f]; commonFormState: CommonFormState; } : { customFormState: Unit; commonFormState: CommonFormState; }; }; } & { commonFormState: CommonFormState; }; //# sourceMappingURL=state.d.ts.map