import { AxiosInstance, AxiosPromise, AxiosRequestConfig } from 'axios'; import { Base } from '../base'; import { IBrightDataConfig } from './types'; import { EBrightDataCountry, IBrightDataChangeIp } from './types'; /** * @description BrightData proxy provider. * @extends {Base} */ export declare class BrightData extends Base { axios: AxiosInstance; sessionId: number; country: EBrightDataCountry; private readonly config; private readonly strategy; /** * @constructor * @param {IBrightDataConfig} config */ constructor(config: IBrightDataConfig); /** * @description Create and set proxy agents. * @param {IBrightDataChangeIp} [params] - Params to handle multiple strategies. * @returns {BrightData} */ setIp(params?: IBrightDataChangeIp): BrightData; /** * @description Sends request. * @param {AxiosRequestConfig} axiosRequestConfig * @returns {AxiosPromise} */ fetch(axiosRequestConfig: AxiosRequestConfig): AxiosPromise; /** * @description Returns a random country. * @params {EBrightDataCountry} [countries] - List of countries * @returns {EBrightDataCountry} */ private getRandomCountry; /** * @description Checks if country array isn't empty. * @param {EBrightDataCountry[]} countries * @throws {Error} Will throw an error if countries is empty * @returns {void} */ private static checkIfCountriesArrayIsntEmpty; /** * @description Create https and http proxies. * @param {IBrightDataCreateProxy} params * @returns {ICreateProxyConfig} */ private createProxyAgents; }