import { LogLevel } from '../constants/LogLevel'; import { Formatter } from '../formatter/Formatter'; import { Logger } from '../Logger'; import { InternalLogMeta, LogMeta } from '../LogMeta'; import { LogLine } from '../types/LogLine'; export interface TransportOptionsLogger { name: string; level: LogLevel; exact?: boolean; } export interface TransportOptions { formatter?: Formatter; level?: LogLevel; loggers?: Array; } export declare abstract class Transport { private readonly knownLoggers; protected readonly options: T; constructor(options?: T); setLevel(level: LogLevel): void; setFormatter(formatter: Formatter): void; setLoggers(loggers: Array): void; private getAllowedLevel; log(origin: Logger, level: LogLevel, input: LogLine, uniqueMarker?: string, extra?: Readonly<{ [key: string]: any; }>): Readonly; logMeta(meta: Readonly): void; private formatAndPrint; private static defaultFormatterGetter; protected abstract print(meta: Readonly, message: string): void; }