import { Callsite } from '@evojs/callsite';
import { type LogLevel } from './enums';
import { type LogFormatFn, type LogMessage, type LogPipes } from './types';
export declare class Log {
	readonly name: string | undefined;
	readonly formats: (string | LogFormatFn)[];
	readonly pipes: LogPipes;
	readonly level: LogLevel;
	readonly args: any[];
	readonly callsiteDepth: number;
	protected static lineLength: number;
	static separator: string;
	readonly callsite?: Callsite;
	readonly date: number;
	constructor(name: string | undefined, formats: (string | LogFormatFn)[], pipes: LogPipes, level: LogLevel, args: any[], callsiteDepth?: number);
	/**
	 * Get formatted messages.
	 */
	messages(): unknown[];
	/**
	 * Get Message object.
	 */
	toMessage(): LogMessage;
}
