import { ApiSchema, MetaSchema, DataSourceSchema } from '@vtj/core';
import { IRequestConfig } from '@vtj/utils';
import { ProvideAdapter } from './defaults';
export declare function createSchemaApi(schema: ApiSchema, adapter: ProvideAdapter): ((query?: Record<string, any>) => Promise<any>) | ((data: any, opts?: IRequestConfig) => Promise<any>);
export declare function createMetaApi(meta: MetaSchema, adapter: ProvideAdapter): ((data: any, opts?: IRequestConfig) => Promise<any> | undefined) | undefined;
export declare function createSchemaApis(apis: ApiSchema[] | undefined, meta: MetaSchema[] | undefined, adapter: ProvideAdapter): Record<string, any>;
export declare function mockApis(schemas?: ApiSchema[], global?: any): Promise<void>;
export declare function createMock(source: DataSourceSchema, global?: any): (...args: any[]) => Promise<any>;
export interface MockCallbackOptions {
    /**
     * 请求url
     */
    url: string;
    /**
     * 请求方法类型
     */
    type: string;
    /**
     * 发送数据 playload
     */
    body: string | FormData;
    /**
     * url路径参数，/api/:id  =>  {id}
     */
    query?: Record<string, any>;
    /**
     * url 查询参数，/api/332?name=abc => {name:'abc}
     */
    params?: Record<string, any>;
    /**
     * 发送数据， body 转 json
     */
    data?: any;
}
export declare function mockApi(Mock: any, schema: ApiSchema): void;
export declare function mockCleanup(global?: any): void;
