/**
 * HTTPS Route Helper Functions
 *
 * This module provides utility functions for creating HTTPS route configurations
 * including TLS termination and passthrough routes.
 */
import type { IRouteConfig } from '../../models/route-types.js';
/**
 * Create an HTTPS route with TLS termination
 * @param domains Domain(s) to match
 * @param target Target host and port
 * @param options Additional route options
 * @returns Route configuration object
 */
export declare function createHttpsTerminateRoute(domains: string | string[], target: {
    host: string | string[];
    port: number;
}, options?: {
    certificate?: 'auto' | {
        key: string;
        cert: string;
    };
    httpPort?: number | number[];
    httpsPort?: number | number[];
    reencrypt?: boolean;
    name?: string;
    [key: string]: any;
}): IRouteConfig;
/**
 * Create an HTTP to HTTPS redirect route
 * @param domains Domain(s) to match
 * @param httpsPort HTTPS port to redirect to (default: 443)
 * @param options Additional route options
 * @returns Route configuration object
 */
export declare function createHttpToHttpsRedirect(domains: string | string[], httpsPort?: number, options?: Partial<IRouteConfig>): IRouteConfig;
/**
 * Create an HTTPS passthrough route (SNI-based forwarding without TLS termination)
 * @param domains Domain(s) to match
 * @param target Target host and port
 * @param options Additional route options
 * @returns Route configuration object
 */
export declare function createHttpsPassthroughRoute(domains: string | string[], target: {
    host: string | string[];
    port: number;
}, options?: Partial<IRouteConfig>): IRouteConfig;
/**
 * Create a complete HTTPS server with HTTP to HTTPS redirects
 * @param domains Domain(s) to match
 * @param target Target host and port
 * @param options Additional configuration options
 * @returns Array of two route configurations (HTTPS and HTTP redirect)
 */
export declare function createCompleteHttpsServer(domains: string | string[], target: {
    host: string | string[];
    port: number;
}, options?: {
    certificate?: 'auto' | {
        key: string;
        cert: string;
    };
    httpPort?: number | number[];
    httpsPort?: number | number[];
    reencrypt?: boolean;
    name?: string;
    [key: string]: any;
}): IRouteConfig[];
