import AbstractController from '../controllers/abstract-controller'; import AbstractAdapter, { IAbstractAdapter } from './abstract-adapter'; /** * IListenableAdapter * @abstract class */ export declare abstract class IListenableAdapter extends IAbstractAdapter { abstract postInitialize(): any | Promise; abstract listen(): any | Promise; } /** * Abstract adapter class for back-end service. * @abstract * @class * @extends AbstractAdapter * @implements IListenableAdapter */ export default abstract class ListenableAdapter extends AbstractAdapter implements IListenableAdapter { private _controllersClasses; private _controllers; /** * @param {AbstractController} Class */ registerController(Class: { new (...args: any[]): AbstractController; }): void; /** * @returns {Promise} * @final */ postInitialize(): Promise; destroy(): Promise; /** * @abstract * @returns {Promise} */ abstract listen(): any | Promise; }