export interface Logger { log(...args: any[]): void; info(...args: any[]): void; error(...args: any[]): void; warn(...args: any[]): void; group(...label: any[]): void; groupEnd(): void; } export type LoggerCtor = { new (): Logger; }; export declare class LoggerFactory { private static instances; private static get defaultLogger(); static getLogger(ctor?: { new (): Logger; }): Logger; } type LogOptions = { message?: string; /** * 指示在哪些环境下有效,默认 development */ env?: string | string[]; /** * 当前 Log 是否已经禁用 */ disabled?: boolean; }; export declare namespace Log { function info(...args: any[]): void; } export declare function Log({ message, env, disabled, }?: LogOptions): (_target: any, propertyKey: PropertyKey, descriptor: PropertyDescriptor) => void; export declare namespace Log { var disableAll: boolean; } export {};