import { AxiosResponse } from "axios"; export declare type TypeServiceRequestType = "POST" | "GET" | "DELETE" | "PUT"; export interface IServiceRequest { endPoint?: string; type?: TypeServiceRequestType; data?: any; timeout?: number; uri?: any; url?: string; skip?: boolean; header?: any; namespace?: string; options?: ServiceRequestOptions; id?: string; success?: Function; fail?: Function; complete?: Function; uploadProgress?(event: ProgressEvent, requestData?: IServiceRequest): void; downloadProgress?(event: ProgressEvent, requestData?: IServiceRequest): void; } declare type TypeServiceConfigEventOptions = { env?: string; option?: IServiceRequest; endPoint?: IServiceEndPoint; }; export interface IServiceConfig { baseUrl: string; dummy?: boolean; dummyPath?: string; endPoints: { [P in keyof TypeServiceEndPoints]: IServiceEndPoint; }; envUrls?: {}; proxy?: string; getDomain?(options: TypeServiceConfigEventOptions): string; } export interface IServiceEndPoint { url: string; type?: TypeServiceRequestType; method?: TypeServiceRequestType; header?: any; uri?: any; payload?: any; dummy?: string; options?: TypeOptions; data?: any; onAfter?(resp: AxiosResponse): void; onBefore?(options?: IServiceRequest, endPoint?: IServiceEndPoint): void; } export {};