import { Client } from '../common/json-rpc/Client'; import { ILogOpts, ScriptingTransport } from '../common/json-rpc/types'; export interface Script { systemDidEnable?(): Promise | void; } export declare type API = any; export declare function inject(apiName?: string): (target: T, propertyKey: keyof T) => void; export declare function getInjectedAPIs(instance: T): Map; export declare class Script extends Client { private transport; static inject: typeof inject; loadedAPIs: { [key: string]: API; }; protected started: boolean; constructor(transport: ScriptingTransport, opt?: ILogOpts); sendMessage(message: string): void; loadAPIs(apiName: string[]): Promise<{ [key: string]: any; }>; protected didConnect(): void; }