import type { BaseInnerFormProps, FieldData, MaskSettings } from '../hooks/useForm/types'; import type { Namespace, NsTranslationKey, TFunction, Translatable } from '../../types'; import type { FieldMetadata } from './fieldConfigurations'; import type { ValidationRuleResult, ValidationRuleResults } from './validation/types'; export type FormUtils = { /** @deprecated use translations functions directly */ getLabel: (field: keyof Schema | string, fallbackLabelKey?: NsTranslationKey<'common'>) => string; getMask: (field: keyof Schema) => MaskSettings | undefined; isObscured: (field: keyof Schema) => boolean; isRequiredField: (field: keyof Schema, showIfNotInRequiredFields?: boolean) => boolean; isOptionalField: (field: keyof Schema) => boolean; isVisibleField: (field: keyof Schema, showIfNotInRequiredFields?: boolean) => boolean; isReadOnly: (field: keyof Schema) => boolean; isTrusted: (field: keyof Schema) => boolean; getErrorMessage: (field: keyof Schema, errors: ValidationRuleResults | null | undefined, fieldProblems: Partial> | undefined) => Translatable | boolean; getFieldData: , FieldSchema extends { [field in keyof Schema]: Schema[field]; }>(formData: Schema, fieldKeys: Fields) => FieldData; getFieldValid: (formValid: Partial>, fieldKeys: Array) => Record; getFieldErrors: (formErrors: Partial>, fieldProblems: Partial> | undefined, fieldKeys: Array) => Record; getFieldLabels: (fieldKeys: Array, fallbackLabelKeys?: Partial>>) => Partial>; }; export interface FormUtilsProps extends BaseInnerFormProps { taskType?: string; } export declare const createFormUtils: (props: FormUtilsProps, t: TFunction<"common">) => FormUtils; export declare const mergeFieldMetadataIntoProps: (fieldName: FieldName, metadata: FieldMetadata, otherProps?: FormUtilsProps) => FormUtilsProps;