import { Logger, LogLevel, LogContext } from '../../shared/utils/logger.js';
/**
 * Defines the type of logger
 * @deprecated Use shared/utils/logger.ts instead. This type will be removed in a future release.
 */
export declare enum LoggerType {
    JSON = "json",
    CONSOLE = "console"
}
/**
 * Options used for logger configuration
 * @deprecated Use shared/utils/logger.ts instead. This interface will be removed in a future release.
 */
export interface LoggerFactoryOptions {
    type: LoggerType;
    minLevel?: LogLevel;
    defaultContext?: LogContext;
}
/**
 * Factory class for creating and managing logger instances
 * @deprecated Use shared/utils/logger.ts instead. This class will be removed in a future release.
 *
 * Migration guide:
 * - Instead of LoggerFactory.getDefaultLogger(), use the 'logger' export from shared/utils/logger.ts
 * - Instead of getLogger with a name, use logger.withContext({ component: 'YourComponentName' })
 * - For custom log levels, use createConsoleLogger(level) from shared/utils/logger.ts
 */
export declare class LoggerFactory {
    private static instance;
    private loggers;
    private constructor();
    /**
     * Get the singleton instance
     * @deprecated Use shared/utils/logger.ts instead.
     */
    static getInstance(): LoggerFactory;
    /**
     * Create a logger
     * @param options Logger configuration options
     * @deprecated Use createConsoleLogger from shared/utils/logger.ts instead.
     */
    createLogger(options: LoggerFactoryOptions): Logger;
    /**
     * Get or create a named logger
     * @param name Logger name
     * @param options Logger configuration options
     * @deprecated Use logger.withContext({ component: name }) from shared/utils/logger.ts instead.
     */
    getLogger(name: string, options: LoggerFactoryOptions): Logger;
    /**
     * Get the default logger
     * @deprecated Use the 'logger' export from shared/utils/logger.ts instead.
     */
    static getDefaultLogger(): Logger;
    /**
     * Clear all loggers
     * Mainly for testing purposes
     * @deprecated Use direct imports from shared/utils/logger.ts instead.
     */
    clear(): void;
}
/**
 * Provides the default logger instance
 * @deprecated Use the 'logger' export from shared/utils/logger.ts instead.
 *
 * Example replacement:
 * ```
 * // Old code:
 * // import { defaultLogger } from '../infrastructure/logger/LoggerFactory.js';
 * // defaultLogger.info('Some message');
 *
 * // New code:
 * import { logger } from '../shared/utils/logger.js';
 * logger.info('Some message');
 * ```
 */
export declare const defaultLogger: Logger;
//# sourceMappingURL=LoggerFactory.d.ts.map