import { type VineGlobalTransforms } from './types.ts'; /** * Default error message templates used throughout the Vine validation library. * These messages support mustache-style interpolation for dynamic values like field names, * expected values, and validation parameters. * * Message templates use {{ }} syntax for variable interpolation: * - {{ field }} - The field name or custom field label * - {{ min }}, {{ max }} - Numeric constraints * - {{ expectedValue }} - Expected literal values * - {{ otherField }} - Related field names for comparisons * * @example * // Basic usage * 'The {{ field }} field is required' // → 'The username field is required' * * // With custom field names * fields = { 'user.email': 'Email Address' } * messages = { 'required': 'The {{ field }} is required' } * // → 'The Email Address is required' * * // With validation parameters * 'The {{ field }} must be at least {{ min }} characters' * // → 'The password must be at least 8 characters' */ export declare const messages: { required: string; string: string; email: string; mobile: string; creditCard: string; passport: string; postalCode: string; regex: string; ascii: string; iban: string; jwt: string; coordinates: string; url: string; activeUrl: string; alpha: string; alphaNumeric: string; minLength: string; maxLength: string; fixedLength: string; confirmed: string; endsWith: string; startsWith: string; sameAs: string; notSameAs: string; in: string; notIn: string; ipAddress: string; vat: string; uuid: string; ulid: string; hexCode: string; boolean: string; number: string; 'number.in': string; min: string; max: string; range: string; positive: string; negative: string; nonNegative: string; nonPositive: string; decimal: string; withoutDecimals: string; accepted: string; enum: string; literal: string; object: string; array: string; 'array.minLength': string; 'array.maxLength': string; 'array.fixedLength': string; notEmpty: string; distinct: string; record: string; 'record.minLength': string; 'record.maxLength': string; 'record.fixedLength': string; tuple: string; union: string; unionGroup: string; unionOfTypes: string; date: string; 'date.equals': string; 'date.after': string; 'date.before': string; 'date.afterOrEqual': string; 'date.beforeOrEqual': string; 'date.sameAs': string; 'date.notSameAs': string; 'date.afterField': string; 'date.afterOrSameAs': string; 'date.beforeField': string; 'date.beforeOrSameAs': string; 'date.weekend': string; 'date.weekday': string; nativeFile: string; 'nativeFile.minSize': string; 'nativeFile.maxSize': string; 'nativeFile.mimeTypes': string; }; /** * Default field name mappings for error message formatting. * Maps field paths to human-readable labels that appear in error messages. * * The empty string key ('') provides a fallback name for the root data object. * * @example * // Custom field mappings * const customFields = { * 'user.email': 'Email Address', * 'user.firstName': 'First Name', * 'user.lastName': 'Last Name', * 'billing.address': 'Billing Address' * } * * // Field paths use dot notation for nested objects * 'user.profile.bio' → 'Biography' * 'settings.notifications.email' → 'Email Notifications' */ export declare const fields: { /** Default name for the root data object */ '': string; }; /** * Global transformation registry for schema types. * Allows registering global transforms that automatically apply to all schema instances of a given type. * * Currently supports: * - `date`: Transform all Date values after validation * * The transform function receives the validated value and returns a transformed version. * Type inference automatically updates the output type based on the transform return type. * * @example * // Transform all dates to ISO strings * globalTransforms.date = (value) => value.toISOString() * * @example * // Transform all dates to timestamps * globalTransforms.date = (value) => value.getTime() */ export declare const globalTransforms: { date?: (value: Date) => VineGlobalTransforms extends { date: infer D; } ? D : Date; };