import { DEBUG, ERROR, INFO, LogLevels, WARN } from './logLevels'; export { DEBUG, ERROR, INFO, LogLevels, WARN }; export declare type Metadata = Record; export declare type PlatformMetadata = any; export declare type Message = string; export interface LogEventMetadata { [index: string]: any; platform: PlatformMetadata; } export interface LogEvent { level: LogLevels; message: Message; metadata: LogEventMetadata; timestamp: Date; } export interface Backend { log(event: LogEvent): Promise; } export interface LoggerConfiguration { backends?: Backend[]; } export declare function validateMetadata(metadata: Metadata): Record; export declare class Logger { private backends; private metadata; private static platformMetadata; constructor(opts?: LoggerConfiguration); info(message: Message, metadata?: Metadata): void; warn(message: Message, metadata?: Metadata): void; error(message: Message, metadata?: Metadata): void; debug(message: Message, metadata?: Metadata): void; setMetadata(metadata: Metadata): void; static setPlatformMetadata(metadata: Partial): void; private send; private combineMetadata; }