export declare type Awaitable = PromiseLike | T; export declare type Constructable = new (...args: unknown[]) => V; export declare type CallbackFunctionVariadic = (...args: any[]) => string; export interface IMessages { [key: string]: CallbackFunctionVariadic; } declare type Abstract = Function & { prototype: T; }; declare type Constructor = new (...args: any[]) => T; export declare type Class = Abstract | Constructor; export {};