import { ContainerLogMessage, ELogLevel, IModuleOptions, Module } from "../../container";
/** Logs environment variable names. */
export declare enum ELogsEnv {
    /** Application logs level (default warning). */
    Level = "LOGS_LEVEL"
}
/** Abstract container logs handler module. */
export declare abstract class Logs extends Module {
    /** Default module name. */
    static readonly moduleName: string;
    /**
     * Parsed application logs level.
     * Get log level from environment, defaults to warning.
     */
    protected readonly envLogsLevel: ELogLevel;
    constructor(options: IModuleOptions);
    /** Abstract handler for incoming log messages. */
    protected abstract logsOnMessage(log: ContainerLogMessage): void;
    /**
     * Returns a new instance of ContainerLogMessage where message is a string.
     * Some logging libraries only accept strings, in case message is an error, message/name property
     * is used for log and other error properties are appended to log arguments array.
     */
    protected logsMessageAsString(log: ContainerLogMessage): ContainerLogMessage;
    /** Convert environment log level string to level index, defaults to warning. */
    protected logsParseLevel(level?: string): ELogLevel;
}
