import { IBaseService, IAbility } from '../interface'; import { LogInfo, Subcategory, ErrorInfo, DevConfig, ServiceType } from '../types'; import { IContext } from '../../server'; export declare abstract class Base implements IBaseService { [key: string]: any; static abilities: Map; protected type: ServiceType; constructor(type: ServiceType); abstract init(config: any): void; extractConfig(config: DevConfig): T; getContext(): IContext; getLogs(): LogInfo[]; getInfos(): LogInfo[]; getErrors(): LogInfo[]; getWarns(): LogInfo[]; addInfo(message: string, ...args: any[]): void; addWarn(message: string, ...args: any[]): void; addError(code: number | Subcategory, error: Error | string, type?: string): Error; createErrorCode(errorLog: ErrorInfo): ErrorInfo | undefined; getAbility(key?: string): T | Array>; provideAbility(key: string, implementation: T): void; getType(): ServiceType; generateId(): string; hasAbility(key: string): boolean; registerMethod(name: string, fn: Function): void; }