export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
export declare function extractErrorDetails(error: Error | unknown): {
    name?: string;
    message: string;
    stack?: string;
};
/**
 * Logger
 *
 * Structured console logger with level gating, tagging, and rich error/extra formatting.
 * Levels: debug, info, warn, error.
 */
export declare class Logger {
    private level;
    private tag?;
    constructor(tag?: string, level?: LogLevel);
    setLevel(level: LogLevel): void;
    private shouldLog;
    private formatRecord;
    private formatErrorText;
    private formatExtraText;
    private formatLine;
    private log;
    debug(message: string, error?: Error | unknown, ...extraData: unknown[]): void;
    info(message: string, error?: Error | unknown, ...extraData: unknown[]): void;
    warn(message: string, error?: Error | unknown, ...extraData: unknown[]): void;
    error(message: string, error?: Error | unknown, ...extraData: unknown[]): void;
}
export declare const log: Logger;
export declare function createLogger(tag: string): Logger;
