/**
 * HTTPS Tunnel Proxy
 *
 * Local HTTP server that tunnels requests to a remote HTTPS CLIProxyAPI.
 * Required because Claude Code (via undici/node-fetch) doesn't support
 * HTTPS in ANTHROPIC_BASE_URL directly.
 *
 * Flow:
 *   Claude CLI --HTTP--> Local Tunnel (port X) --HTTPS--> Remote CLIProxyAPI
 *
 * Note: Unlike CodexReasoningProxy, this tunnel does NOT buffer or limit response sizes.
 * Responses are streamed directly (pipe) which is appropriate for a transparent tunnel.
 * Socket-level timeouts handle hung connections; size limits are enforced by the remote server.
 */
export interface HttpsTunnelConfig {
    /** Remote server hostname */
    remoteHost: string;
    /** Remote server port (default: 443) */
    remotePort?: number;
    /** Auth token for remote server */
    authToken?: string;
    /** Request timeout in ms (default: 120000) */
    timeoutMs?: number;
    /** Enable verbose logging */
    verbose?: boolean;
    /** Skip TLS certificate validation (for self-signed certs) */
    allowSelfSigned?: boolean;
}
export declare class HttpsTunnelProxy {
    private server;
    private port;
    private startingPromise;
    private activeConnections;
    private readonly config;
    constructor(config: HttpsTunnelConfig);
    private log;
    start(): Promise<number>;
    stop(): void;
    getPort(): number | null;
    private buildForwardHeaders;
    private handleRequest;
    private forwardRequest;
}
//# sourceMappingURL=https-tunnel-proxy.d.ts.map