import { WorkerState } from '../Enum.js'; import type { IWorkerOptions } from '../interface/config.js'; import type { IWorkerMetaData } from '../interface/discovery.js'; import type { JobExecutor } from '../utility/Executor.js'; import { Executor } from '../utility/Executor.js'; import { LifeCycle } from '../utility/LifeCycle.js'; import { Timer } from '../utility/Timer.js'; import type { Component } from './Component.js'; import { WorkerScope } from './context/scope/WorkerScope.js'; import type { Provider } from './rpc/provider/Provider.js'; declare abstract class Worker { constructor(name: string, options: IWorkerOptions); protected abstract startup(): Promise; start(): Promise; protected abstract shutdown(reason: string): Promise; stop(reason: string): Promise; runCommand(..._args: unknown[]): Promise; protected doJob(executor: JobExecutor): Promise; protected doJobInterval(executor: JobExecutor, timeMS: number): Promise; registerProviders(providers: Provider[]): Promise; registerProvider(provider: Provider): Promise; unregisterProvider(name: string): Promise; connectComponents(components: Component[]): Promise; connectComponent(component: Component): Promise; disconnectComponent(name: string): Promise; hasProvider(id: string): boolean; hasComponent(id: string): boolean; protected onError(err: Error): void; get name(): string; get state(): WorkerState; get isIdle(): boolean; get stateSubject(): import("rxjs").BehaviorSubject; get lifeCycle(): LifeCycle; get id(): string; get executor(): Executor>; get scope(): WorkerScope; get metaData(): IWorkerMetaData; protected lifeCycle_: LifeCycle; protected executor_: Executor; protected intervalJobTimer_: Timer; protected startTime_: number; protected options_: IWorkerOptions; protected scope_: WorkerScope; private name_; private id_; private componentPool_; private providerPool_; } export { Worker }; //# sourceMappingURL=Worker.d.ts.map