/** * Performance optimizations for DNS validation */ import type { UnknownRecord } from "type-fest"; import type { DNSRecordType } from "./types"; /** * Test hook for exercising cache miss/hit branches. * * @internal */ export declare const testGetCachedRegex: (pattern: string, flags?: string) => RegExp; /** * Name of a precompiled validation pattern. */ export type ValidationPatternName = "email" | "fqdn" | "hex" | "ipv4"; /** * Pre-compiled regex patterns for common validations. */ export declare const ValidationPatterns: Readonly>; /** * Fast pre-validation using regex patterns Returns null if validation should * proceed, or false if definitely invalid */ export declare function fastPreValidate(value: string, pattern: ValidationPatternName): boolean | null; /** * Optimized type checking with early returns */ export declare function isPlainObject(value: unknown): value is UnknownRecord; /** * Optimized field access for optional fields. */ export declare function getOptionalField(obj: Readonly, field: Readonly, expectedType: "boolean" | "number" | "object" | "string"): unknown; /** * Optimized field access with type checking. */ export declare function getRequiredField(obj: Readonly, field: Readonly, expectedType: "boolean" | "number" | "object" | "string"): unknown; /** * Fast integer range validation */ export declare function isValidIntegerInRange(value: unknown, min: number, max: number): value is number; /** * Validation performance metrics */ export interface ValidationMetrics { averageTimeMs: number; cacheHits: number; cacheMisses: number; successfulValidations: number; totalValidations: number; } /** * Performance tracking for validation operations */ export declare class ValidationPerformanceTracker { private metrics; private totalTime; getMetrics(): ValidationMetrics; recordCacheHit(): void; recordCacheMiss(): void; recordSuccess(): void; reset(): void; startValidation(): () => void; private recordValidation; } /** * Fast record type validation */ export declare function isValidRecordType(type: unknown): type is DNSRecordType; /** * Global performance tracker instance */ export declare const globalPerformanceTracker: ValidationPerformanceTracker; /** * Decorator for tracking validation performance */ export declare function trackPerformance(validationFn: (...args: Arguments) => Return, tracker?: ValidationPerformanceTracker): (...args: Arguments) => Return; //# sourceMappingURL=performance.d.ts.map