/**
 * Log levels for structured logging
 */
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    FATAL = 4
}
/**
 * Log entry interface for structured logging
 */
export interface LogEntry {
    level: LogLevel;
    message: string;
    timestamp: string;
    context?: Record<string, any>;
    error?: Error;
    metadata?: Record<string, any>;
}
/**
 * Server-side logger with Sentry integration
 *
 * Features:
 * - Structured logging with context
 * - Automatic Sentry error reporting
 * - Performance monitoring
 * - Request correlation
 *
 * @example
 * ```typescript
 * import { logger } from '../shared/logger.js';
 *
 * // Basic logging
 * logger.info('Server started', { port: 3000 });
 *
 * // Error logging with Sentry
 * logger.error('Database error', { error: err, query: 'SELECT * FROM users' });
 *
 * // Performance logging
 * logger.info('Request completed', {
 *   duration: 150,
 *   status: 200,
 *   path: '/api/users'
 * });
 * ```
 */
export declare const logger: {
    /**
     * Log debug information
     * @param message - Log message
     * @param context - Additional context data
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    debug(message: string, context?: Record<string, any>): void;
    /**
     * Log informational messages
     * @param message - Log message
     * @param context - Additional context data
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    info(message: string, context?: Record<string, any>): void;
    /**
     * Log warning messages
     * @param message - Log message
     * @param context - Additional context data
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    warn(message: string, context?: Record<string, any>): void;
    /**
     * Log error messages with Sentry integration
     * @param message - Log message
     * @param context - Additional context data
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    error(message: string, context?: Record<string, any>): Promise<void>;
    /**
     * Log fatal errors with Sentry integration
     * @param message - Log message
     * @param context - Additional context data
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    fatal(message: string, context?: Record<string, any>): Promise<void>;
    /**
     * Core logging method
     * @param level - Log level
     * @param message - Log message
     * @param context - Additional context data
     *
     * @security Callers MUST NOT pass secrets (tokens, passwords, API keys) in context. Context is logged in plaintext.
     *
     * @version 0.1.0
     * @since 0.0.1
     * @author AMBROISE PARK Consulting
     */
    log(level: LogLevel, message: string, context?: Record<string, any>): void;
    /**
     * Check if Sentry is enabled
     * @returns True if Sentry is available and configured
     */
    isSentryEnabled(): boolean;
    /**
     * Get current log level (always DEBUG for server)
     * @returns Current log level
     */
    getLevel(): LogLevel;
};
/**
 * Create a child logger with additional context
 * @param context - Additional context to include in all logs
 * @returns Child logger instance
 */
export declare function createChildLogger(context: Record<string, any>): {
    debug: (message: string, additionalContext?: Record<string, any>) => void;
    info: (message: string, additionalContext?: Record<string, any>) => void;
    warn: (message: string, additionalContext?: Record<string, any>) => void;
    error: (message: string, additionalContext?: Record<string, any>) => Promise<void>;
    fatal: (message: string, additionalContext?: Record<string, any>) => Promise<void>;
};
