import type { SafeHooksWrapper } from "./Hooks"; /** * Specifies event severity levels for the `IConfigCatLogger` interface. * The levels are interpreted as minimum levels in the case of event filtering. */ export declare enum LogLevel { /** All events are logged. */ Debug = 4, /** Info, Warn and Error are logged. Debug events are discarded. */ Info = 3, /** Warn and Error events are logged. Info and Debug events are discarded. */ Warn = 2, /** Error events are logged. All other events are discarded. */ Error = 1, /** No events are logged. */ Off = -1 } export declare type LogEventId = number; /** Represents a log message format with named arguments. */ export declare class FormattableLogMessage { readonly strings: ReadonlyArray; readonly argNames: ReadonlyArray; readonly argValues: ReadonlyArray; static from(...argNames: string[]): (strings: TemplateStringsArray, ...argValues: unknown[]) => FormattableLogMessage; private cachedDefaultFormattedMessage?; constructor(strings: ReadonlyArray, argNames: ReadonlyArray, argValues: ReadonlyArray); get defaultFormattedMessage(): string; toString(): string; } export declare type LogMessage = string | FormattableLogMessage; /** Defines the interface used by the ConfigCat SDK to perform logging. */ export interface IConfigCatLogger { /** Gets the log level (the minimum level to use for filtering log events). */ readonly level?: LogLevel; /** Gets the character sequence to use for line breaks in log messages. Defaults to "\n". */ readonly eol?: string; /** * Writes an event into the log. * @param level Event severity level. * @param eventId Event identifier. * @param message Message. * @param exception The exception object related to the message (if any). */ log(level: LogLevel, eventId: LogEventId, message: LogMessage, exception?: any): void; } export declare class LoggerWrapper implements IConfigCatLogger { private readonly logger; private readonly hooks?; get level(): LogLevel; get eol(): string; constructor(logger: IConfigCatLogger, hooks?: SafeHooksWrapper | undefined); isEnabled(logLevel: LogLevel): boolean; /** @inheritdoc */ log(level: LogLevel, eventId: LogEventId, message: LogMessage, exception?: any): LogMessage; /** * Shorthand method for `logger.logEvent(LogLevel.Debug, 0, message);` */ debug(message: string): void; configJsonIsNotPresent(defaultReturnValue: string): LogMessage; configJsonIsNotPresentSingle(key: string, defaultParamName: string, defaultParamValue: unknown): LogMessage; settingEvaluationFailedDueToMissingKey(key: string, defaultParamName: string, defaultParamValue: unknown, availableKeys: string): LogMessage; settingEvaluationError(methodName: string, defaultReturnValue: string, ex: any): LogMessage; settingEvaluationErrorSingle(methodName: string, key: string, defaultParamName: string, defaultParamValue: unknown, ex: any): LogMessage; forceRefreshError(methodName: string, ex: any): LogMessage; fetchFailedDueToInvalidSdkKey(sdkKey: string): LogMessage; fetchFailedDueToUnexpectedHttpResponse(statusCode: number, reasonPhrase: string): LogMessage; fetchFailedDueToRequestTimeout(timeoutMs: number, ex: any): LogMessage; fetchFailedDueToUnexpectedError(ex: any): LogMessage; fetchFailedDueToRedirectLoop(): LogMessage; fetchReceived200WithInvalidBody(ex: any): LogMessage; fetchReceived304WhenLocalCacheIsEmpty(statusCode: number, reasonPhrase: string): LogMessage; autoPollConfigServiceErrorDuringPolling(ex: any): LogMessage; settingForVariationIdIsNotPresent(variationId: string): LogMessage; configServiceCacheReadError(ex: any): LogMessage; configServiceCacheWriteError(ex: any): LogMessage; clientIsAlreadyCreated(sdkKey: string): LogMessage; userObjectIsMissing(key: string): LogMessage; dataGovernanceIsOutOfSync(): LogMessage; userObjectAttributeIsMissingPercentage(key: string, attributeName: string): LogMessage; userObjectAttributeIsMissingCondition(condition: string, key: string, attributeName: string): LogMessage; userObjectAttributeIsInvalid(condition: string, key: string, reason: string, attributeName: string): LogMessage; userObjectAttributeIsAutoConverted(condition: string, key: string, attributeName: string, attributeValue: string): LogMessage; configServiceCannotInitiateHttpCalls(): LogMessage; configServiceMethodHasNoEffectDueToDisposedClient(methodName: string): LogMessage; configServiceMethodHasNoEffectDueToOverrideBehavior(overrideBehavior: string, methodName: string): LogMessage; settingEvaluated(evaluateLog: string): LogMessage; configServiceStatusChanged(status: string): LogMessage; } export declare class ConfigCatConsoleLogger implements IConfigCatLogger { level: LogLevel; readonly eol: string; SOURCE: string; /** * Create an instance of ConfigCatConsoleLogger */ constructor(level?: LogLevel, eol?: string); /** @inheritdoc */ log(level: LogLevel, eventId: LogEventId, message: LogMessage, exception?: any): void; } //# sourceMappingURL=ConfigCatLogger.d.ts.map