/** * Created by tacb0ss on 08/07/2018. */ import { ModuleManager } from "./module-manager"; import { Logger } from "./logger/Logger"; import { TimerHandler, ValidatorTypeResolver } from ".."; export declare abstract class Module extends Logger { private name; protected readonly manager: ModuleManager; protected readonly initiated = false; protected readonly config: Config; protected readonly configValidator?: ValidatorTypeResolver; protected timeoutMap: { [k: string]: number; }; constructor(tag?: string); debounce(handler: TimerHandler, key: string, ms?: number): void; throttle(handler: TimerHandler, key: string, ms?: number): void; setConfigValidator(validator: ValidatorTypeResolver): void; setDefaultConfig(config: Partial): void; getName(): string; setName(name: string): void; private setConfig; private setManager; protected runAsync: (label: string, toCall: () => Promise) => void; protected init(): void; protected validate(): void; }