/**
 * Copyright (c) Microsoft Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import tls from 'tls';
import { SocksProxy } from '@utils/socksProxy';
import type * as types from './types';
import type https from 'https';
import type { Progress } from '@protocol/progress';
export declare class ClientCertificatesProxy {
    _socksProxy: SocksProxy;
    private _connections;
    ignoreHTTPSErrors: boolean | undefined;
    secureContextMap: Map<string, tls.SecureContext>;
    private _proxy;
    private constructor();
    _getProxyAgent(host: string, port: number): any;
    _initSecureContexts(clientCertificates: types.BrowserContextOptions['clientCertificates']): void;
    static create(progress: Progress, contextOptions: Pick<types.BrowserContextOptions, 'clientCertificates' | 'ignoreHTTPSErrors' | 'proxy'>): Promise<ClientCertificatesProxy>;
    proxySettings(): types.ProxySettings;
    close(): Promise<void>;
}
export declare function getMatchingTLSOptionsForOrigin(clientCertificates: types.BrowserContextOptions['clientCertificates'], origin: string): Pick<https.RequestOptions, 'pfx' | 'key' | 'cert'> | undefined;
export declare function rewriteOpenSSLErrorIfNeeded(error: Error): Error;
//# sourceMappingURL=socksClientCertificatesInterceptor.d.ts.map