declare const levels: readonly ["debug", "error", "info", "log", "warn"];
export type Level = (typeof levels)[number];
export type Listener = (level: Level, args: any[]) => void;
export interface LogLine {
    level: Level;
    args: any[];
}
export declare function interceptConsoleLog(logListener?: Listener): void;
export declare function decorateConsoleLog(): void;
export type LogListener = (log: LogLine) => void;
export declare function addListener(listener: LogListener): void;
export declare function removeListener(listener: LogListener): void;
/**
 * Doesn't report 'console.debug' (I don't remember why). Clears logs, but keeps
 * console.debug, and returns the logs.
 */
export declare function fetchLogs(): LogLine[];
export declare function flushLogs(): void;
export {};
