import * as http from "http"; import * as https from "https"; import type { FetchRequest, IConfigCatConfigFetcher } from "../ConfigFetcher.js"; import { FetchResponse } from "../ConfigFetcher.js"; export interface INodeHttpConfigFetcherOptions { /** * The {@link https://nodejs.org/api/http.html#class-httpagent | http.Agent} instance to use for non-secure HTTP communication. * For example, this option allows you to configure the SDK to route `http://...` requests through an HTTP, HTTPS or SOCKS proxy. * * If not set, the default agent, {@link https://nodejs.org/api/http.html#httpglobalagent | http.globalAgent} will be used. * * This option applies when the SDK connects to a custom `http://...` URL you specified via `baseUrl`. */ httpAgent?: http.Agent | null; /** * The {@link https://nodejs.org/api/https.html#class-httpsagent | https.Agent} instance to use for secure HTTP communication. * For example, this option allows you to configure the SDK to route `https://...` requests through an HTTP, HTTPS or SOCKS proxy. * * If not set, the default agent, {@link https://nodejs.org/api/https.html#httpsglobalagent | https.globalAgent} will be used. * * This option applies when the SDK connects to the ConfigCat CDN or a custom `https://...` URL you specified via `baseUrl`. */ httpsAgent?: https.Agent | null; } export declare class NodeHttpConfigFetcher implements IConfigCatConfigFetcher { private static getFactory; private logger; private readonly httpAgent; private readonly httpsAgent; constructor(options?: INodeHttpConfigFetcherOptions); private handleResponse; fetchAsync(request: FetchRequest): Promise; protected setRequestHeaders(requestOptions: { headers?: Record; }, headers: ReadonlyArray): void; }