import type { IRouteConfig, IRouteMatch, IRouteAction } from '../models/route-types.js'; /** * Validates route configurations for correctness and safety */ export declare class RouteValidator { private static readonly VALID_TLS_MODES; private static readonly VALID_ACTION_TYPES; private static readonly VALID_PROTOCOLS; private static readonly MAX_PORTS; private static readonly MAX_DOMAINS; private static readonly MAX_HEADER_SIZE; /** * Validate a single route configuration */ static validateRoute(route: IRouteConfig): { valid: boolean; errors: string[]; }; /** * Validate multiple route configurations */ static validateRoutes(routes: IRouteConfig[]): { valid: boolean; errors: Map; }; /** * Find potential conflicts between routes */ private static findRouteConflicts; /** * Validate port number */ private static isValidPort; /** * Validate domain pattern */ private static isValidDomain; /** * Validate path pattern */ private static isValidPath; /** * Validate IP pattern */ private static isValidIPPattern; /** * Validate IPv4 address */ private static isValidIPv4; /** * Validate IPv6 address */ private static isValidIPv6; /** * Log validation errors */ static logValidationErrors(errors: Map): void; } /** * Validates a port range or port number * @param port Port number, port range, or port function * @returns True if valid, false otherwise */ export declare function isValidPort(port: any): boolean; /** * Validates a domain string - supports wildcards, localhost, and IP addresses * @param domain Domain string to validate * @returns True if valid, false otherwise */ export declare function isValidDomain(domain: string): boolean; /** * Validates a route match configuration * @param match Route match configuration to validate * @returns { valid: boolean, errors: string[] } Validation result */ export declare function validateRouteMatch(match: IRouteMatch): { valid: boolean; errors: string[]; }; /** * Validates a route action configuration * @param action Route action configuration to validate * @returns { valid: boolean, errors: string[] } Validation result */ export declare function validateRouteAction(action: IRouteAction): { valid: boolean; errors: string[]; }; /** * Validates a complete route configuration * @param route Route configuration to validate * @returns { valid: boolean, errors: string[] } Validation result */ export declare function validateRouteConfig(route: IRouteConfig): { valid: boolean; errors: string[]; }; /** * Validate an array of route configurations * @param routes Array of route configurations to validate * @returns { valid: boolean, errors: { index: number, errors: string[] }[] } Validation result */ export declare function validateRoutes(routes: IRouteConfig[]): { valid: boolean; errors: { index: number; errors: string[]; }[]; }; /** * Check if a route configuration has the required properties for a specific action type * @param route Route configuration to check * @param actionType Expected action type * @returns True if the route has the necessary properties, false otherwise */ export declare function hasRequiredPropertiesForAction(route: IRouteConfig, actionType: string): boolean; /** * Throws an error if the route config is invalid, returns the config if valid * Useful for immediate validation when creating routes * @param route Route configuration to validate * @returns The validated route configuration * @throws Error if the route configuration is invalid */ export declare function assertValidRoute(route: IRouteConfig): IRouteConfig;