import { Logger, LogType } from '../logger'; import { QuickLogger } from './QuickLogger'; export type UnknownRecord = Record; export interface InsightLoggerOptions { derivedLevel?: number; level?: LogType; getReportData?: () => UnknownRecord; useConsoleTransport?: boolean; } export declare abstract class InsightLogger extends Logger { readonly parent: InsightLogger; abstract updateGetReportData(getReportData: InsightLoggerOptions['getReportData']): void; abstract derive(getReportData: InsightLoggerOptions['getReportData']): InsightLogger; abstract destroy(): void; abstract disableDefaultConsoleTransport(): void; abstract enableDefaultConsoleTransport(): void; abstract event(event: string): QuickLogger; abstract setDefaultConsoleTransportFilter(fn: (logInfo: UnknownRecord) => boolean): void; } export declare const createInsightLogger: ({ level, useConsoleTransport, ...opts }?: InsightLoggerOptions) => InsightLogger;