import { IEntityRef } from '@allgemein/schema-api'; import { WorkerRef } from './WorkerRef'; import { IWorkerConfig } from './IWorkerConfig'; import { IWorker } from './IWorker'; import { IWorkerInfo } from './IWorkerInfo'; import { RuntimeLoader } from '../../base/RuntimeLoader'; import { AbstractRegistry } from '@allgemein/schema-api'; export declare class Workers extends AbstractRegistry { static NAME: string; config: IWorkerConfig; workers: IWorker[]; /** * Execute on bootstrap startup. Get all worker classes from runtime enviroment * an register them. * * @param loader */ onStartup(loader?: RuntimeLoader): void; setConfig(config?: IWorkerConfig): void; contains(name: string): boolean; get(name: string): unknown; startup(): Promise; metadata(): boolean[]; infos(): IWorkerInfo[]; activeWorkerCount(): number; shutdown(): Promise; access(name: string): boolean; addWorkerClass(fn: Function): WorkerRef; create(context: string, options: any): T; getEntities(filter?: (x: IEntityRef) => boolean): IEntityRef[]; }