import { Method, AxiosPromise } from 'axios';
import { BasicApi, RoutineApi, DefaultRequestingApi, DefaultExecutingApi } from '../types';
export declare function createApiMethod(url: string): (data?: any, method?: Method) => AxiosPromise;
export declare function basicApi<R extends Record<string, string>, E extends Record<string, string>>(module: string, primaryKey?: string, requestingApi?: R, executingApi?: E, cacheKey?: string[]): BasicApi<R & E>;
export declare function routineApi<R extends Record<string, string>, E extends Record<string, string>>(module: string, primaryKey?: string, requestingApi?: R, executingApi?: E, cacheKey?: string[]): RoutineApi<(R & DefaultRequestingApi) & (E & DefaultExecutingApi)>;
export declare const ApiUtils: {
    basicApi: typeof basicApi;
    routineApi: typeof routineApi;
};
