export type UniRequestOptions = Omit<UniApp.RequestOptions, 'url'> & {
    baseUrl?: string;
    query?: Record<string, any>;
    /** 出错时是否隐藏错误提示 */
    hideErrorToast?: boolean;
    successMsg?: string;
    loadingMsg?: string;
};
export type UniUploadFileOptions = {
    file?: File;
    files?: UniApp.UploadFileOptionFiles[];
    filePath?: string;
    name?: string;
    formData?: any;
};
type UniRequestInterceptor = (options: UniRequestOptions) => UniRequestOptions;
type UniResponseInterceptor = (response: RequestSuccessCallbackResult) => RequestSuccessCallbackResult | null;
type UniResponseErrorInterceptor = (err: UniApp.GeneralCallbackResult) => any;
export interface RequestSuccessCallbackResult extends UniApp.RequestSuccessCallbackResult {
    config?: UniRequestOptions;
}
declare class UniRequest {
    constructor(defaultConfig?: UniRequestOptions);
    defaults: UniRequestOptions;
    private requestInterceptors;
    private responseInterceptors;
    private responseErrorInterceptors;
    interceptors: {
        request: {
            use: (ri: UniRequestInterceptor) => void;
        };
        response: {
            use: (ri: UniResponseInterceptor, ei: UniResponseErrorInterceptor) => void;
        };
    };
    request<T = any>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', url: string, config?: UniRequestOptions): Promise<T>;
    get<T extends string | AnyObject | ArrayBuffer = any>(url: string, config?: UniRequestOptions): Promise<T>;
    post<T extends string | AnyObject | ArrayBuffer = any>(url: string, config?: UniRequestOptions): Promise<T>;
    put<T extends string | AnyObject | ArrayBuffer = any>(url: string, config?: UniRequestOptions): Promise<T>;
    delete<T extends string | AnyObject | ArrayBuffer = any>(url: string, config?: UniRequestOptions): Promise<T>;
}
export declare const unirequest: UniRequest;
export {};
