import type { ContentFs } from '../../fs/content-fs.js'; import { LogLevel } from './formatter.js'; export type LoggerContext = { email?: string; subject?: string; ipAddress?: string; userAgent?: string; method?: string; pathname?: string; statusCode?: number; teams?: string[]; apiFunction?: string; requestHandlerId?: string; }; type LoggerOptions = { context?: LoggerContext; allowInteractive?: boolean; minLogLevel?: LogLevel; }; export declare class Logger { #private; constructor({ context, allowInteractive, minLogLevel }?: LoggerOptions); shouldLog(level: LogLevel): boolean; info(message: string, ...args: unknown[]): void; infoTime(timingId: symbol | string, message: string, ...args: unknown[]): { message: string; timeMs: number; } | undefined; success(message: string, ...args: unknown[]): void; logInFooter(id: string, message: string, ...args: unknown[]): void; successTime(timingId: symbol | string, message: string, ...args: unknown[]): { message: string; timeMs: number; } | undefined; warn(message: string, ...args: unknown[]): void; warnProd(message: string, ...args: unknown[]): void; error(message: string, ...args: unknown[]): void; contentError(message: string, ...args: unknown[]): void; verbose(message: string, ...args: unknown[]): void; verboseTime(timingId: symbol | string, message: string, ...args: unknown[]): { message: string; timeMs: number; } | undefined; httpTime(timingId: symbol | string): { message: string; timeMs: number; } | undefined; startTiming(label?: string): symbol | string; updateContext(context: Partial): void; clearAllTimeouts(): void; isInteractive(): boolean; warnForRealFile(message: string, relativePath: string, fs: ContentFs, ...args: unknown[]): void; } export declare const logger: Logger; export {}; //# sourceMappingURL=logger.d.ts.map