/** * Shared validators for PEAC payment rail adapters * * These validators enforce consistent validation logic across all adapters. * They follow the "never throws" pattern using Result types. */ import { type Result } from './result.js'; import type { AdapterError } from './types.js'; /** * Validate required string field * * @param value - Value to validate * @param fieldName - Field name for error messages * @returns Result with string value or error */ export declare function requireString(value: unknown, fieldName: string): Result; /** * Validate optional string field * * @param value - Value to validate * @param fieldName - Field name for error messages * @returns Result with string value, undefined, or error */ export declare function optionalString(value: unknown, fieldName: string): Result; /** * Validate required number field * * @param value - Value to validate * @param fieldName - Field name for error messages * @returns Result with number value or error */ export declare function requireNumber(value: unknown, fieldName: string): Result; /** * Validate amount (must be safe non-negative integer in minor units) * * @param value - Value to validate * @returns Result with amount or error */ export declare function requireAmount(value: unknown): Result; /** * Validate currency code (ISO 4217, uppercase) * * @param value - Value to validate * @returns Result with normalized currency code or error */ export declare function requireCurrency(value: unknown): Result; /** * Validate optional network identifier (CAIP-2 format preferred) * * @param value - Value to validate * @returns Result with network string, undefined, or error */ export declare function optionalNetwork(value: unknown): Result; /** * Parse object safely (for webhook payloads) * * @param value - Value to validate * @param fieldName - Field name for error messages * @returns Result with object or error */ export declare function requireObject(value: unknown, fieldName?: string): Result, AdapterError>; /** * Validate optional timestamp (ISO 8601 string or Unix seconds) * * @param value - Value to validate * @returns Result with ISO 8601 string, undefined, or error */ export declare function optionalTimestamp(value: unknown): Result; /** * Validate optional boolean field * * @param value - Value to validate * @param fieldName - Field name for error messages * @returns Result with boolean value, undefined, or error */ export declare function optionalBoolean(value: unknown, fieldName: string): Result; /** * Validate enum value * * @param value - Value to validate * @param allowed - Array of allowed values * @param fieldName - Field name for error messages * @returns Result with validated value or error */ export declare function requireEnum(value: unknown, allowed: readonly T[], fieldName: string): Result; /** * Validate optional enum value * * @param value - Value to validate * @param allowed - Array of allowed values * @param fieldName - Field name for error messages * @returns Result with validated value, undefined, or error */ export declare function optionalEnum(value: unknown, allowed: readonly T[], fieldName: string): Result; //# sourceMappingURL=validators.d.ts.map