import { AxiosProxyConfig } from 'axios';
import { HttpsProxyAgent } from 'hpagent';
import { CoreOptions } from 'request';
import { ProxyConfig } from '../../../types/service';
export type Options = {
    baseURL?: string;
    responseHeader?: boolean;
    responseCode?: boolean;
    headers?: any;
    logger?: any;
    hooks?: {
        sessionExpired: () => void;
        checkLoginStatus: () => boolean;
    };
    logId?: boolean;
};
declare class Request {
    private instance;
    constructor(options: Options);
    genProxy(proxy: ProxyConfig): {
        proxyForRequest?: Pick<CoreOptions, 'proxy' | 'auth'>;
        proxyForAxios: undefined | false | AxiosProxyConfig;
        httpsAgent: HttpsProxyAgent | undefined;
    };
    fetch(url: string, params: {
        data?: any;
        method?: any;
        proxy: ProxyConfig;
        timeout?: number;
    }): Promise<any>;
}
export default Request;
