import { AnyComponentSchema } from '@open-formulieren/types'; import { default as React } from 'react'; import { AddressNLParameters } from './registry/addressNL/types'; import { CosignOldParameters } from './registry/cosignOld/types'; import { CustomerProfileParameters } from './registry/customerProfile/types'; import { EmailParameters } from './registry/email/types'; import { FileParameters } from './registry/file/types'; import { MapParameters } from './registry/map/types'; import { ValidatePluginCallback } from './validationSchema'; export interface FormSettings { /** * Mark required fields with an asterisk. If asterisks are not used, then a suffix * is added to the label of optional fields to specify the field is not required. */ requiredFieldsWithAsterisk?: boolean; /** * All the components that are used in the form. */ components: AnyComponentSchema[]; /** * Configuration necessary specific to certain Formio component types. */ componentParameters?: { addressNL?: AddressNLParameters; coSign?: CosignOldParameters; customerProfile?: CustomerProfileParameters; email?: EmailParameters; file?: FileParameters; map?: MapParameters; }; /** * Callback that implements the actual async 'plugin validator' behaviour. */ validatePluginCallback: ValidatePluginCallback; } declare const FormSettingsContext: React.Context; export interface FieldConfig { /** * Optional prefix to add to the `name` attribute of a field, to ensure that scopes * don't clash in the browser (e.g. radio fields in repeating groups). */ namePrefix: string | undefined; } /** * Context to tweak behaviour of individual form fields. */ declare const FieldConfigContext: React.Context; export { FormSettingsContext, FieldConfigContext };