///
import { EventEmitter } from 'events';
import ControlledProcess, { STATES } from '../ControlledProcess';
import { StateListener } from '../StateListener';
import { IRelease } from 'ethpkg';
export { STATES };
export interface ClientStartOptions {
listener?: StateListener;
entryPoint?: string;
service?: boolean;
}
export interface ExecuteOptions {
useBash?: boolean;
useEntrypoint?: boolean;
}
export default class Client extends EventEmitter {
binaryPath: any;
process?: ControlledProcess;
config: any;
packagePath: string | undefined;
metadata: IRelease;
constructor(binaryPath: any, config: any, metadata?: IRelease);
get name(): any;
get displayName(): any;
get instanceId(): string;
get version(): string | undefined;
get state(): string;
private get resolveIpc();
init(): Promise;
logs(): any[];
private registerEventListeners;
private getStartFlags;
/**
* The promise resolves with a client in *CONNECTED* state
* @param flags
*/
start(flags?: Array, { listener }?: ClientStartOptions): Promise;
stop(): Promise;
execute(command: string, options?: ExecuteOptions): Promise>;
stateChangedTo(newState: string, timeout?: number): Promise;
rpc(method: string, params?: never[], id?: number, result?: undefined): Promise;
}
//# sourceMappingURL=Client.d.ts.map