import { Dao, Job, Service } from './entities'; import { PluginManager } from './plugin.manager'; import { Constructable, Hashtable } from './structure'; export declare abstract class Plugin { protected pluginManager: PluginManager; path: string; protected jobClasses: Array>; protected jobs: Hashtable; protected daoClasses: Array>>; protected daos: Hashtable>; protected serviceClasses: Array>; protected services: Hashtable; constructor(pluginManager: PluginManager); abstract getPluginId(): string; abstract init(): void; invoke(): void; registerDao>(daoClass: Constructable): void; getDaos(): Promise>>; registerJob(jobClass: Constructable): void; getJobs(): Hashtable; registerService(serviceClass: Constructable): void; getServices(): Hashtable; protected invokeDao(DaoConstructor: Constructable>): Dao; } //# sourceMappingURL=plugin.d.ts.map