import { Plugin } from '../../types.js'; export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'; export type LogMessage = { level: LogLevel; message: string; timestamp: Date; subSystemName: string; module?: string; header?: string; args?: unknown[]; }; export declare const ComposaicSubSystemName = "composaic"; /** * Logger extension point. * * Extensions for this extension point will need to implement these methods. */ export interface LoggerExtensionPoint { getSubSystemName(): string; setLogCallback(log: (message: LogMessage) => void): void; } export declare class LoggerPlugin extends Plugin { start(): Promise; stop(): Promise; log(message: LogMessage): void; } export declare class SimpleLoggerExtension implements LoggerExtensionPoint { private log?; getSubSystemName(): string; setLogCallback(log: (message: LogMessage) => void): void; }