import { Logger, LogLevels } from '../types'; export declare const DEFAULT_LOG_PUBLISH_PERIOD_MS = 60000; export declare const DEFAULT_LOG_DISCARD_PERIOD_MS: number; export declare const DEFAULT_LOG_MAX_IDENTITIES_TO_SHOW = 10; export type StandardStringEnum = Readonly>; export type MessageInfo = { key: keyof T; message: T[keyof T]; logLevel: LogLevels; }; export type MessageData = { counter: number; lastLoggedAtMs: number; identificationInfos: string[]; }; export type AggregatedLogForEntity = { [key in keyof T]?: MessageData; }; export declare class LogMessagesSuppressor { readonly entityName: string; private _allMessages; protected logger: Logger; static instances: Record>; private _aggregatedLogs; constructor(entityName: string, _allMessages: Record>, logger: Logger); static getLogSuppressorInstance(entityName: string, allMessages: Record>, logger: Logger): LogMessagesSuppressor; logMessage(msgKey: keyof T, identificationInfo?: string, ...args: unknown[]): void; private _formatLogMessage; private _clearMessageData; }