import { ValueOf } from '../../kit/utils/types';
export declare const NAMEPACE_SEPARATOR = "/";
/**
 * Log levels in order of serverity (low to high).
 * Modeled after Syslog RFC 5424
 * https://tools.ietf.org/html/rfc5424
 */
export declare const Level: {
    readonly Debug: "debug";
    readonly Error: "error";
    readonly Info: "info";
    readonly Trace: "trace";
    readonly Warn: "warn";
};
export type Level = ValueOf<typeof Level>;
/** returns the underlying Debug logger. */
export declare const getLogger: (namespace: string, level: Level) => (...msg: unknown[]) => void;
export interface LoggerInterface {
    debug(...msg: unknown[]): void;
    error(...msg: unknown[]): void;
    info(...msg: unknown[]): void;
    trace(...msg: unknown[]): void;
    warn(...msg: unknown[]): void;
}
/**
 * log filtering is controlled by localStorage.debug.
 * read more on: https://github.com/debug-js/debug#usage
 */
declare class Logger implements LoggerInterface {
    private namespace;
    constructor(namespace: string);
    extend(...namespace: string[]): Logger;
    debug(...msg: unknown[]): void;
    trace(...msg: unknown[]): void;
    info(...msg: unknown[]): void;
    error(...msg: unknown[]): void;
    warn(...msg: unknown[]): void;
    private logWithLevel;
}
declare const rootLogger: Logger;
export default rootLogger;
//# sourceMappingURL=Logger.d.ts.map