/**
 * Load Balancer Route Helper Functions
 *
 * This module provides utility functions for creating load balancer route configurations.
 */
import type { IRouteConfig, TPortRange, IRouteContext } from '../../models/route-types.js';
/**
 * Create a load balancer route (round-robin between multiple backend hosts)
 * @param domains Domain(s) to match
 * @param backendsOrHosts Array of backend servers OR array of host strings (legacy)
 * @param portOrOptions Port number (legacy) OR options object
 * @param options Additional route options (legacy)
 * @returns Route configuration object
 */
export declare function createLoadBalancerRoute(domains: string | string[], backendsOrHosts: Array<{
    host: string;
    port: number;
}> | string[], portOrOptions?: number | {
    tls?: {
        mode: 'passthrough' | 'terminate' | 'terminate-and-reencrypt';
        certificate?: 'auto' | {
            key: string;
            cert: string;
        };
    };
    useTls?: boolean;
    certificate?: 'auto' | {
        key: string;
        cert: string;
    };
    algorithm?: 'round-robin' | 'least-connections' | 'ip-hash';
    healthCheck?: {
        path: string;
        interval: number;
        timeout: number;
        unhealthyThreshold: number;
        healthyThreshold: number;
    };
    [key: string]: any;
}, options?: {
    tls?: {
        mode: 'passthrough' | 'terminate' | 'terminate-and-reencrypt';
        certificate?: 'auto' | {
            key: string;
            cert: string;
        };
    };
    [key: string]: any;
}): IRouteConfig;
/**
 * Create a smart load balancer with dynamic domain-based backend selection
 * @param options Smart load balancer options
 * @returns Route configuration object
 */
export declare function createSmartLoadBalancer(options: {
    ports: TPortRange;
    domainTargets: Record<string, string | string[]>;
    portMapper: (context: IRouteContext) => number;
    name?: string;
    defaultTarget?: string | string[];
    priority?: number;
    [key: string]: any;
}): IRouteConfig;
