UNPKG

lavva.exalushome

Version:

Library implementing communication and abstraction layers for ExalusHome system

18 lines (17 loc) 821 B
import { IDIService } from "./IDIService"; import { CancelationTokenSource } from './CancelationTokenSource'; import { ILoggerService } from './Services/Logging/ILoggerService'; export declare class DependencyContainer { private static _instance; private _services; private _serviceRegistrationEvent; static Log?: ILoggerService; static IsInitialized: boolean; private static _debugCalls; set DebugCalls(value: boolean); static get Instance(): DependencyContainer; RegisterService(service: IDIService): void; GetService<T extends IDIService>(serviceName: string): T; GetServiceAsync<T extends IDIService>(serviceName: string, token?: CancelationTokenSource): Promise<T>; GetServiceWithTimeoutAsync<T extends IDIService>(serviceName: string, timeout: number): Promise<T>; }