///
///
import EventEmitter = NodeJS.EventEmitter;
export type Wire = EventEmitter & {
connect(address: string, WsConstructor: typeof WebSocket): Promise;
connectSync(): any;
send(data: any): Promise;
shutdown(): Promise;
getPort(): string;
};
export type WireConstructor = {
new (onmessage: (data: any) => void): Wire;
};
export type RuntimeConfig = {
version: string;
fallbackVersion?: string;
securityRealm?: string;
verboseLogging?: boolean;
arguments?: string;
rvmDir?: string;
};
export type ServiceConfig = {
name: string;
manifestUrl: string;
};
export type BaseConfig = {
uuid?: string;
address?: string;
name?: string;
nonPersistent?: boolean;
runtimeClient?: boolean;
licenseKey?: string;
client?: any;
manifestUrl?: string;
startupApp?: any;
lrsUrl?: string;
assetsUrl?: string;
devToolsPort?: number;
installerUI?: boolean;
runtime?: RuntimeConfig;
services?: ServiceConfig[];
appAssets?: [
{
src: string;
alias: string;
target: string;
version: string;
args: string;
}
];
customItems?: [any];
timeout?: number;
};
export type ConfigWithUuid = BaseConfig & {
uuid: string;
};
export type ExistingConnectConfig = ConfigWithUuid & {
address: string;
};
export type ConfigWithRuntime = BaseConfig & {
runtime: RuntimeConfig;
};
export type ExternalConfig = BaseConfig & {
manifestUrl: string;
};
export type NewConnectConfig = ConfigWithUuid & ConfigWithRuntime;
export type PortDiscoveryConfig = (ExternalConfig & ConfigWithRuntime) | NewConnectConfig;
export type ConnectConfig = ExistingConnectConfig | NewConnectConfig | ExternalConfig;
export type InternalConnectConfig = ExistingConnectConfig | NewConnectConfig;
export interface RemoteConfig extends ExistingConnectConfig {
token: string;
}
export declare function isExternalConfig(config: ConnectConfig): config is ExternalConfig;
export declare function isExistingConnectConfig(config: any): config is ExistingConnectConfig;
export declare function isRemoteConfig(config: any): config is RemoteConfig;
export declare function isNewConnectConfig(config: any): config is NewConnectConfig;
export declare function isPortDiscoveryConfig(config: any): config is PortDiscoveryConfig;
export declare function isInternalConnectConfig(config: any): config is InternalConnectConfig;