import { Rule } from 'antd/es/form';
import { TFormSchemaProperties } from '../../../../../localTypes/formSchema';
import { TFormName } from '../../../../../localTypes/form';
export declare const prettyFieldPath: (name: TFormName) => string;
export declare const collectOneOfRequiredGroupStates: ({ properties, values, currentPath, }: {
    properties: TFormSchemaProperties;
    values: Record<string, unknown>;
    currentPath?: (string | number)[] | undefined;
}) => {
    name: TFormName;
    errors: string[];
}[];
/**
 * Returns an antd Form rule for a required field. When `nullable` is true, an explicit
 * `null` is accepted as a valid value (it will be serialized as JSON null in the payload).
 * For non-nullable fields, the standard antd `required: true` semantics apply — null is
 * treated as empty, same as undefined/''/[].
 */
export declare const getRequiredRule: (isRequired: boolean, name: TFormName, nullable?: boolean) => Rule;
export declare const getPatternRule: (pattern: string | undefined, name: TFormName) => Rule | undefined;
export declare const getStringLengthRule: ({ minLength, maxLength, name, }: {
    minLength?: number | undefined;
    maxLength?: number | undefined;
    name: TFormName;
}) => Rule | undefined;
export declare const getStringFormatRule: (format: string | undefined, name: TFormName) => Rule | undefined;
export declare const getArrayItemsRule: ({ minItems, maxItems, name, }: {
    minItems?: number | undefined;
    maxItems?: number | undefined;
    name: TFormName;
}) => Rule | undefined;
export declare const getNumberFormatRule: (format: string | undefined, name: TFormName) => Rule | undefined;
export declare const getNumberRangeRule: ({ minimum, maximum, name, }: {
    minimum?: number | undefined;
    maximum?: number | undefined;
    name: TFormName;
}) => Rule | undefined;
