import { Formatter } from "picocolors/types.js"; //#region src/logger.d.ts declare const defaultOptions: Required>; declare class Logger { options: Required; constructor(options: LoggerOptions); clone(options: LoggerOptions): Logger; DEBUG(...messages: unknown[]): void; INFO(...messages: unknown[]): void; WARN(...messages: unknown[]): void; ERROR(...messages: unknown[]): void; private print; } //#endregion //#region src/types.d.ts declare const LogLevel: { readonly DEBUG: 0; readonly INFO: 1; readonly WARN: 2; readonly ERROR: 3; }; type LogLevelType = typeof LogLevel[keyof typeof LogLevel]; type LogColors = { [key in LogLevelType]: Formatter }; type LogNames = { [key in LogLevelType]: string }; interface LoggerOptions { enable?: boolean; title: string; level?: LogLevelType; transformers?: Transformer[]; colors?: LogColors; names?: LogNames; } /** * 格式化器类型 */ type Transformer = (context: { logger: Logger; level: LogLevelType; }, ...args: unknown[]) => string[]; //#endregion //#region src/builder.d.ts declare function createLogger(name: string, options: LoggerOptions): Logger; declare function getLogger(name: string): Logger | undefined; declare function hasLogger(name: string): boolean; //#endregion //#region src/transformer.d.ts /** * 判断一个值是否为对象 */ declare function isObject(value: unknown, allowArray?: boolean): value is object; /** * 默认格式化器 */ declare const defaultTransformer: Transformer; interface SaveFileTransformerOptions { filename: string | (() => string); } declare const stripAnsiRegex: RegExp; declare function saveFileTransformer(options?: SaveFileTransformerOptions): Transformer; //#endregion export { LogColors, LogLevel, LogLevelType, LogNames, Logger, LoggerOptions, SaveFileTransformerOptions, Transformer, createLogger, defaultOptions, defaultTransformer, getLogger, hasLogger, isObject, saveFileTransformer, stripAnsiRegex };