import { AxiosInstance, AxiosRequestConfig } from 'axios';
interface FetchInstance extends AxiosInstance {
    $get<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    $delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    $head<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    $options<T = any>(url: string, config?: AxiosRequestConfig): Promise<T>;
    $post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    $put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
    $patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T>;
}
export declare const baseApi = "/parse/api";
export declare const defaultTimeout: number;
export declare const getLoginBasePath: () => string;
export declare const getServerGateway: () => string;
export declare const getGateway: (extraPath?: string) => string;
interface GetConfigParams {
    sessionToken: string;
    tenant: string;
    Cookie: string;
}
interface ConfigType {
    baseURL: string;
    headers: {
        'X-Parse-Session-Token': string;
        'X-Parse-Application-Id': string;
        Cookie: string;
    };
}
export declare function getRequestConfig({ sessionToken, tenant, Cookie }: GetConfigParams, isServerSide?: boolean): ConfigType;
export declare const config: AxiosRequestConfig;
declare const fetch: FetchInstance;
export declare const getAppId: () => string;
export declare const getUserSessionToken: () => string;
export declare const getGlobalEnv: () => Record<string, any>;
export declare const fetcherInfiniteList: (query: AxiosRequestConfig) => Promise<any>;
export declare const fetcher: (query: string) => Promise<any>;
export declare const fetchVm: (url: string, params: Record<string, any>) => Promise<{
    code: number;
    message?: string;
    data?: Record<string, any>;
}>;
export declare const pluginFetch: any;
export declare const oldPluginFetch: any;
export declare const parseFetch: FetchInstance;
export default fetch;
