import 'reflect-metadata'; /** * 提取返回值类型 */ export declare type RType = T extends (...args: any[]) => infer R ? R : any; /** * 提取返回值 */ export declare type PType = T extends (...args: infer P) => any ? P : never; /** * 服务代理包装类型 */ export declare type Broker = { [KEY in keyof T]: T[KEY] extends Function ? (...args: PType) => Promise> : never; }; /** * @Api 接口调用 */ export declare function brokerInvoke(serverUrl: string, method: string, args: any): Promise; /** * @ApiImport 服务调用 */ export declare function brokerExcelImport(serverUrl: string, method: string, args: any): Promise; /** * @ApiExport 服务调用 */ export declare function brokerExcelExport(serverUrl: string, method: string, args: any): Promise; export declare function brokerExcelExportDataSource(serverUrl: string, method: string, args: any): Promise; /** * 新版 Yvan-Server API 代理 */ declare type Proxy = { [KEY in keyof T]: T[KEY] extends (...args: any) => any ? (...args: Parameters) => Promise> : never; }; /** * 新版 Yvan-Server 引入 API 的方式 */ export declare function createProxy(serviceType: T): Proxy; /** * 新版 Yvan-Server 引入 excel导出 的方式 */ export declare function createExcelExport(serviceType: T): Proxy; /** * 新版 Yvan-Server 引入 excel导出 的方式 */ export declare function createExcelImport(serviceType: T): Proxy; /** * 创建服务代理 */ export declare function createBroker any>(serviceType: T): Broker>; export {};