/**
 * Remote Proxy Client for CLIProxyAPI
 *
 * HTTP client for health checks and connection testing against remote CLIProxyAPI instances.
 * Uses native fetch API with aggressive timeout for CLI responsiveness.
 */
/** Error codes for remote proxy status */
export type RemoteProxyErrorCode = 'CONNECTION_REFUSED' | 'TIMEOUT' | 'AUTH_FAILED' | 'DNS_FAILED' | 'NETWORK_UNREACHABLE' | 'UNKNOWN';
/** Status returned from remote proxy health check */
export interface RemoteProxyStatus {
    /** Whether the remote proxy is reachable */
    reachable: boolean;
    /** Latency in milliseconds (only set if reachable) */
    latencyMs?: number;
    /** Error message (only set if not reachable) */
    error?: string;
    /** Error code for programmatic handling */
    errorCode?: RemoteProxyErrorCode;
}
/** Configuration for remote proxy client */
export interface RemoteProxyClientConfig {
    /** Remote proxy host (IP or hostname) */
    host: string;
    /**
     * Remote proxy port.
     * Optional - defaults based on protocol:
     * - HTTPS: 443
     * - HTTP: 8317 (CLIProxyAPI default)
     */
    port?: number;
    /** Protocol to use (http or https) */
    protocol: 'http' | 'https';
    /** Optional auth token for Authorization header */
    authToken?: string;
    /** Request timeout in ms (default: 2000) */
    timeout?: number;
    /** Allow self-signed certificates (default: false) */
    allowSelfSigned?: boolean;
}
/**
 * Check health of remote CLIProxyAPI instance
 *
 * Uses root endpoint (/) for health check since CLIProxyAPI doesn't expose /health.
 * Root is cheap and avoids false negatives from slower model-list endpoints.
 *
 * @param config Remote proxy client configuration
 * @returns RemoteProxyStatus with reachability and latency
 */
export declare function checkRemoteProxy(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
/** Alias for dashboard connection tests. */
export declare function testConnection(config: RemoteProxyClientConfig): Promise<RemoteProxyStatus>;
//# sourceMappingURL=remote-proxy-client.d.ts.map