import { ReactiveController, ReactiveControllerHost } from 'lit'; import type { Context, ContextConsumerController } from '../context'; export declare enum LogLevel { Silent = 0, Error = 1, Warn = 2, Info = 3, Debug = 4 } export declare const LogLevelNameMap: Record; export declare const LogLevelColor: Readonly<{ 0: string; 1: string; 2: string; 3: string; 4: string; }>; export declare type LogLevelName = 'silent' | 'error' | 'warn' | 'info' | 'debug'; export interface LoggerOptions { /** * A unique color used to help identify the current logger in the logs. By default this is a * random generated HSL color. */ color?: string; /** * A string used to help identify the logged messages by this logger. */ name?: string | symbol; /** * Current class that owns the logger. */ owner?: any; /** * Custom log level. */ logLevel?: LogLevel; } export interface GroupLogStream { append(...data: any[]): GroupLogStream; appendWithLabel(label: string, ...data: any[]): GroupLogStream; group(snippetMessage: string): GroupLogStream; end(): GroupLogStream; } export declare class Logger implements ReactiveController { protected readonly _host: ReactiveControllerHost; protected readonly _options: LoggerOptions; static _consumeLogLevel?: Context['consume']; protected readonly _logLevelConsumer?: ContextConsumerController; get name(): any; get level(): LogLevel; set level(newLevel: LogLevel | undefined); constructor(_host: ReactiveControllerHost, _options?: LoggerOptions); hostConnected(): void; error(...data: any[]): void; warn(...data: any[]): void; log(...data: any[]): void; info(...data: any[]): void; debug(...data: any[]): void; errorGroup(snippetMessage: string, ...data: any[]): GroupLogStream; warnGroup(snippetMessage: string, ...data: any[]): GroupLogStream; logGroup(snippetMessage: string, ...data: any[]): GroupLogStream; infoGroup(snippetMessage: string, ...data: any[]): GroupLogStream; debugGroup(snippetMessage: string, ...data: any[]): GroupLogStream; protected _hasStartedGroup: boolean; protected _startGroup(level: LogLevel, snippetMessage?: string, parentStream?: GroupLogStream): GroupLogStream; protected _endGroup(): void; protected _lastDebugTimestamp?: number; protected _getDebugTimeDiff(): string; protected _getGroupName(): string; protected _startCollapsedGroup(level: LogLevel, snippetMessage?: string): void; protected _log(level: LogLevel, ...data: any[]): void; protected _labelledLog(label: string, ...data: any[]): void; protected _logTrace(): void; } export declare class ElementLogger extends Logger { hostConnected(): void; hostUpdated(): void; hostDisconnected(): void; }