import { ILyraProcedureTypeBrowser } from './browser/procedure'; import { ILyraProcedureContext } from './context'; import { ELyraServiceStatus } from './core'; import { ILyraProcedureTypeNode } from './node/procedure'; import { ELyraServicePlatform } from './platform'; export interface IActualLyraProcedureTypeBrowser extends ILyraProcedureTypeBrowser, ILyraProcedureTypeNode { } export interface ILyraProcedureTypeMap { Browser: ILyraProcedureTypeBrowser; Node: ILyraProcedureTypeNode; Electron: ILyraProcedureTypeNode; } export declare type ILyraProcedureType

= ILyraProcedureTypeMap[P]; export interface ILyraRuntimeProcedureTypeMap { Browser: IActualLyraProcedureTypeBrowser; Node: ILyraProcedureTypeNode; Electron: ILyraProcedureTypeNode; } export declare type ILyraRuntimeProcedureType

= ILyraRuntimeProcedureTypeMap[P]; export declare type SLyraProcedure = keyof ILyraProcedureTypeBrowser | keyof ILyraProcedureTypeNode; export interface ILyraProcedureMeta { name: SLyraProcedure; platform: ELyraServicePlatform; } export interface ILyraProcedureError { errorCode?: string; errorMessage?: string; } export interface ILyraProcedureResponse { status: ELyraServiceStatus; data: D; error?: ILyraProcedureError; } export declare type LyraProcedureMethod

= (options: O, context: ILyraProcedureContext

) => A extends true ? Promise> : ILyraProcedureResponse; export declare type InferProcedureResponse = T extends LyraProcedureMethod ? R : never; export declare type InferProcedureOptions = T extends LyraProcedureMethod ? O : never; export interface ILyraProcedure { addMetadata(meta: ILyraProcedureMeta): void; getMetadata(): ILyraProcedureMeta[]; } //# sourceMappingURL=procedure-type.d.ts.map