import { ErrorCodes } from '../../shared/errors/error-codes';
import { ErrorSources } from '../../shared/errors/error-source';
import { StatusCode } from '../../shared/errors/status-code';
import { LogLevel } from '../../shared/logger/log-level';
import { LogOptions } from '../../shared/logger/log-options';
import { AppLogOption } from '../types/app-log-option';
export type EPSLoggerConfig = GenericLoggerConfig | ConsoleOnlyLoggerConfig;
export interface GenericLoggerConfig {
    filename: string;
    fileLogDirPath: string;
    sourceName: string;
    fileLogLevel?: LogLevel;
    consoleLogLevel?: LogLevel;
}
export interface ConsoleOnlyLoggerConfig {
    sourceName: string;
    consoleLogLevel: LogLevel;
}
export declare const EPS_LOG_FILE_NAME = "eps";
export declare class Logger {
    private static instance;
    private constructor();
    static init(epsInstanceId: string, config: EPSLoggerConfig): void;
    static info(message: unknown, options?: LogOptions): void;
    static error(message: unknown, options?: LogOptions): void;
    static warn(message: unknown, options?: LogOptions): void;
    static debug(message: unknown, options?: LogOptions): void;
    static logEPSError(statusCode: StatusCode, errorSource: ErrorSources, epsErrorCode: ErrorCodes, message: Error | string, options?: LogOptions): void;
}
export declare function createLoggerConfig(sourceName: string, appLogOption: AppLogOption): EPSLoggerConfig;
