type ValidationRule = (field: string, value: unknown, payload: Record) => string | undefined; type ValidationSchema = Record; declare function required(): ValidationRule; declare function stringRule(): ValidationRule; declare function minLength(minimum: number): ValidationRule; declare function maxLength(maximum: number): ValidationRule; declare function pattern(expression: RegExp): ValidationRule; declare function enumRule(allowedValues: readonly TValue[]): ValidationRule; declare function optional(): ValidationRule; declare function integerRule(): ValidationRule; declare function emailRule(): ValidationRule; declare function confirmed(fieldName: string): ValidationRule; declare function positiveIntegerRule(): ValidationRule; declare function integerRange(minimum: number, maximum: number): ValidationRule; declare function validateObject(payload: unknown, schema: ValidationSchema): Record; export type { ValidationRule, ValidationSchema }; export { confirmed, emailRule, enumRule, integerRange, integerRule, maxLength, minLength, optional, pattern, positiveIntegerRule, required, stringRule, validateObject, };