import type { BaseFormProps, BaseInnerFormProps, BaseOuterFormProps } from '../hooks/useForm/types'; import type { ValidatorMode } from './validation/types'; export declare function getFormProps, NestedFormProps extends BaseFormProps, OuterFormSchema, NestedFormSchema>(props: OuterFormProps, innerFormId: keyof OuterFormSchema): NestedFormProps | null; /** * we want to preserve getFormProps' utility of digging into the data structure without turning * the special fields like requiredFields into arrays, like BaseInnerFormProps. * * @param props * @param innerFormId */ export declare function getNestedOuterFormPropsFromOuterFormProps, NestedFormProps extends BaseOuterFormProps, OuterFormSchema, NestedFormSchema>(props: OuterFormProps, innerFormId: keyof OuterFormSchema): NestedFormProps | null; export declare function getFieldProps, NestedFormProps extends BaseInnerFormProps, OuterFormSchema extends NestedFormSchema, NestedFormSchema>(props: OuterFormProps, innerFormFields: (keyof NestedFormSchema)[]): NestedFormProps | null; export declare const capitalize: (value: string) => string; /** * Similar to `getFieldProps`, but supports nested groups under a prefix in a schema. Mostly for 'Business Details' * as we have two address fields on one page (so two `address`, two `city`, etc.) that ideally need to be flatted * for multiform. * * Can go from `city` to `registrationAddressCity` on the outer schema, basically. */ export declare function getPrefixedFieldProps & { handleFieldChange: (fieldName: keyof OuterFormSchema, mode?: ValidatorMode) => (e: any) => void; }, NestedFormProps extends BaseInnerFormProps, OuterFormSchema, NestedFormSchema>(props: OuterFormProps, prefix: 'registrationAddress' | 'operationalAddress', innerFormFields: (keyof NestedFormSchema)[]): NestedFormProps;