export interface IHeaders { [key: string]: any; } export interface IBasicCredentials { username: string; password: string; } export interface IRequestHandler { prepareRequest(options: any): void; canHandleAuthentication(res: IHttpResponse): boolean; handleAuthentication(httpClient: any, protocol: any, options: any, objs: any, finalCallback: any): void; } export interface IHttpResponse { statusCode?: number; headers: any; } export interface IRequestOptions { socketTimeout?: number; ignoreSslError?: boolean; proxy?: IProxyConfiguration; cert?: ICertConfiguration; } export interface IProxyConfiguration { proxyUrl: string; proxyUsername?: string; proxyPassword?: string; proxyBypassHosts?: string[]; } export interface ICertConfiguration { caFile?: string; certFile?: string; keyFile?: string; passphrase?: string; }