import { AnyComponentSchema } from '@open-formulieren/types'; import { Conditional } from '@open-formulieren/types/dist/extensions'; import { GetRegistryEntry } from './registry/types'; import { JSONObject } from './types'; type ConditionalOptions = NonNullable; export declare const getConditional: (component: AnyComponentSchema) => Required | null; /** * Given an evaluation scope of values, determine if a component is visible or hidden. * * Note that the `evaluationScope` is often equal to the form values of all components, * but not always - e.g. when using edit grids, the item values of each item are * scoped inside their parent key so that components can have conditional logic based * on their siblings components. */ export declare const isHidden: (component: AnyComponentSchema, evaluationScope: JSONObject, getRegistryEntry: GetRegistryEntry, /** * A mapping of component key -> component definition so that the value can be * interpreted in the right context. */ componentsMap: Partial>) => boolean; /** * Extract the desired `clearOnHide` behaviour. * * @note Formio's default value is `true`, meaning that values of hidden components * get cleared unless specified otherwise. So even if we get `undefined` or `null`, * the component should be cleared on hide. */ export declare const getClearOnHide: (componentDefinition: AnyComponentSchema) => boolean; /** * Given a tree of component definitions, transform it into a mapping of component key * to the component configuration. Useful to look up component key references and * introspect the matching component type/configuration. * * @param components The list of components to process. * @returns A flat map of component key to component definition. */ export declare const getComponentsMap: (components: AnyComponentSchema[]) => Record; export declare const hasAnyConditionalLogicCycle: (components: AnyComponentSchema[]) => boolean; export {};