import type { Logger } from '@agile-ts/logger'; export declare const logCodeTypes: { '00': string; '01': string; '02': string; '03': string; }; export declare class LogCodeManager { logCodeMessages: LogCodeMessagesType; _loggerPackage: any; allowLogging: boolean; /** * Manages logging for AgileTs based on log codes. * * @param logCodeMessages - Keymap of messages that the LogCodeManager can log. * @param loggerPackage - Optional '@agile-ts/logger' package for more advanced logging. */ constructor(logCodeMessages: LogCodeMessagesType, loggerPackage?: any); /** * Retrieves the shared Logger from the specified 'loggerPackage'. * * @public */ get logger(): Logger | null; /** * Returns the log message according to the specified log code. * * @internal * @param logCode - Log code of the message to be returned. * @param replacers - Instances that replace these '${x}' placeholders based on the index * For example: 'replacers[0]' replaces '${0}', 'replacers[1]' replaces '${1}', .. */ getLog>(logCode: T, replacers?: any[]): string; /** * Logs the log message according to the specified log code * with the Agile Logger if installed or the normal console. * * @internal * @param logCode - Log code of the message to be logged. * @param config - Configuration object * @param data - Data to be attached to the end of the log message. */ log>(logCode: T, config?: LogConfigInterface, ...data: any[]): void; } /** * Creates an extension of the specified LogCodeManager * and assigns the provided additional log messages to it. * * @param logCodeManager - LogCodeManager to create an extension from. * @param additionalLogs - Log messages to be added to the created LogCodeManager extensions. */ export declare function assignAdditionalLogs(logCodeManager: LogCodeManager, additionalLogs: Record): LogCodeManager; /** * The Log Code Manager keeps track * and manages all important Logs for the '@agile-ts/core' package. * * @internal */ export declare const logCodeManager: LogCodeManager<{ '10:00:00': string; '10:02:00': string; '11:02:00': string; '11:02:01': string; '11:03:00': string; '11:03:01': string; '11:03:02': string; '11:03:03': string; '11:03:04': string; '11:03:05': string; '12:03:00': string; '12:03:01': string; '12:03:02': string; '13:00:00': string; '13:01:00': string; '13:01:01': string; '13:01:02': string; '13:02:00': string; '13:03:00': string; '14:03:01': string; '14:03:02': string; '14:03:03': string; '14:03:04': string; '15:01:00': string; '15:01:01': string; '15:01:02': string; '15:01:03': string; '16:01:00': string; '16:01:01': string; '16:01:02': string; '16:02:00': string; '16:02:01': string; '17:03:00': string; '18:00:00': string; '18:02:00': string; '18:03:00': string; '19:02:00': string; '1A:02:00': string; '1A:02:01': string; '1B:02:00': string; '1B:02:01': string; '1B:02:02': string; '1B:02:03': string; '1B:02:04': string; '1B:02:05': string; '1B:03:00': string; '1B:03:01': string; '1B:03:02': string; '1B:03:03': string; '1B:03:04': string; '1B:03:05': string; '1B:03:06': string; '1C:02:00': string; '1C:03:00': string; '1C:03:01': string; '20:03:00': string; '20:03:01': string; '20:03:02': string; '00:03:00': string; '00:03:01': string; }>; interface LogConfigInterface { /** * Instances that replace these '${x}' placeholders based on the index * For example: 'replacers[0]' replaces '${0}', 'replacers[1]' replaces '${1}', .. * @default [] */ replacers?: any[]; /** * Tags that need to be active in order to log the specified logCode. * @default [] */ tags?: string[]; } export declare type LogCodePaths = { [K in keyof T]: T[K] extends string ? K : never; }[keyof T] & string; export {};