/**
 * @module logger
 * Structured logging for debugging with context fields and sensitive data redaction
 *
 * Provides structured logging with multiple log levels, context tracking,
 * and automatic redaction of sensitive information like DIDs, keys, and tokens.
 *
 * Usage:
 * ```typescript
 * import { createLogger } from '@private.me/xbind';
 *
 * const logger = createLogger('agent-gateway');
 *
 * // Basic logging
 * logger.info('Agent initialized', { did: 'did:key:z6Mk...' });
 *
 * // With context
 * logger.debug('Processing message', {
 *   nonce: '12345',
 *   scope: 'billing',
 *   encrypted: true
 * });
 *
 * // Errors
 * logger.error('Authentication failed', { code: 'AUTH_FAILED' }, error);
 * ```
 */
/**
 * Log level enumeration
 */
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    SILENT = 4
}
/**
 * Context fields for structured logging
 */
export interface LogContext {
    [key: string]: unknown;
    /** Optional trace ID for correlation */
    traceId?: string;
    /** Optional span ID for correlation */
    spanId?: string;
    /** Optional parent span ID for correlation */
    parentSpanId?: string;
}
/**
 * Logger interface for structured logging
 */
export interface Logger {
    debug(message: string, context?: LogContext): void;
    info(message: string, context?: LogContext): void;
    warn(message: string, context?: LogContext): void;
    error(message: string, context?: LogContext, error?: Error | unknown): void;
    setLevel(level: LogLevel): void;
    getLevel(): LogLevel;
    isEnabled(level: LogLevel): boolean;
}
/**
 * Create a logger instance with optional name
 */
export declare function createLogger(name?: string): Logger;
/**
 * Get or create global logger
 */
export declare function getGlobalLogger(): Logger;
/**
 * Set global logger instance
 */
export declare function setGlobalLogger(logger: Logger): void;
/**
 * Default export for convenience
 */
export declare const logger: Logger;
