import { ILyraJSAPIBrowser } from './browser/api'; import { ILyraJSAPIContext } from './context'; import { ELyraServiceStatus } from './core'; import { ILyraJSAPINode } from './node/api'; import { ELyraServicePlatform } from './platform'; export interface ILyraJSAPITypeMap { Browser: ILyraJSAPIBrowser; Node: ILyraJSAPINode; Electron: ILyraJSAPINode; } export declare type ILyraJSAPIType

= ILyraJSAPITypeMap[P]; export declare type SLyraJSAPI = keyof ILyraJSAPIBrowser | keyof ILyraJSAPINode; export interface ILyraJSAPIMeta { name: SLyraJSAPI; namespace?: string; platform: ELyraServicePlatform; /** * 声明 API 依赖的的 procedure * TODO: 这个有必要吗 */ usingProcedure?: string[]; } export interface ILyraJSAPIResponse { status: ELyraServiceStatus; data: D; } export declare type LyraJSAPIMethod

= (options: O, context: ILyraJSAPIContext

) => A extends true ? Promise> : ILyraJSAPIResponse; export declare type InferJSAPIOptions = T extends LyraJSAPIMethod ? O : never; export declare type InferJSAPIResponse = T extends LyraJSAPIMethod ? R : never; export interface ILyraJSAPI { addMetadata(meta: ILyraJSAPIMeta): void; getMetadata(): ILyraJSAPIMeta[]; } //# sourceMappingURL=api-type.d.ts.map