import { SagaLogger } from '../types';
/**
 * Log levels
 */
export declare enum LogLevel {
    DEBUG = "DEBUG",
    INFO = "INFO",
    WARN = "WARN",
    ERROR = "ERROR"
}
/**
 * Options for the ConsoleLogger
 */
export interface ConsoleLoggerOptions {
    level?: LogLevel;
    includeTimestamp?: boolean;
}
/**
 * Console implementation of SagaLogger
 */
export declare class ConsoleLogger implements SagaLogger {
    private level;
    private includeTimestamp;
    private readonly LOG_LEVEL_PRIORITY;
    /**
     * Creates a new ConsoleLogger
     * @param options Logger options
     */
    constructor(options?: ConsoleLoggerOptions);
    /**
     * Logs a debug message
     * @param message Message to log
     * @param meta Optional metadata
     */
    debug(message: string, meta?: Record<string, any>): void;
    /**
     * Logs an info message
     * @param message Message to log
     * @param meta Optional metadata
     */
    info(message: string, meta?: Record<string, any>): void;
    /**
     * Logs a warning message
     * @param message Message to log
     * @param meta Optional metadata
     */
    warn(message: string, meta?: Record<string, any>): void;
    /**
     * Logs an error message
     * @param message Message to log
     * @param error Optional error
     * @param meta Optional metadata
     */
    error(message: string, error?: Error, meta?: Record<string, any>): void;
    /**
     * Logs a message
     * @param level Log level
     * @param message Message to log
     * @param error Optional error
     * @param meta Optional metadata
     */
    private log;
}
/**
 * Factory for creating SagaLogger instances
 */
export declare class LoggerFactory {
    /**
     * Creates a console logger
     * @param options Logger options
     */
    static createConsoleLogger(options?: ConsoleLoggerOptions): SagaLogger;
}
