/**
 * Modular Logger System
 *
 * Production-grade logging with:
 * - Modular architecture
 * - Context tracking
 * - Statistics
 * - Graceful shutdown
 */
import pino from 'pino';
import type { LogLevel, LogContext, ContextualLogger } from './types.js';
import { getLogDir, getLoggerConfig } from './config.js';
import { getLogStats } from './stats.js';
import { isLoggerShuttingDown, flushAndClose, setShuttingDown } from './shutdown.js';
import { rotateLogs, cleanOldLogs } from './rotation.js';
export declare const logger: ContextualLogger;
export declare function createLogger(prefix: string, context?: LogContext): ContextualLogger;
export declare function createModuleLogger(moduleName: string, _modulePath?: string): ContextualLogger;
export declare function createExtensionLogger(extensionName: string): ContextualLogger;
export declare function createServiceLogger(serviceId: string): ContextualLogger;
export declare function createRequestLogger(requestId: string, initialContext?: LogContext): ContextualLogger;
export declare function setLogLevel(level: LogLevel): void;
export declare function getLogLevel(): LogLevel;
export declare function withLogLevel<T>(level: LogLevel, fn: () => T): T;
export declare function isLevelEnabled(level: LogLevel): boolean;
export type { LogLevel, LogContext, LogEntry, LoggerConfig, LogFileMeta, LogQuery, LogStats, RotationResult, ContextualLogger, } from './types.js';
export { getLogDir, getLoggerConfig, getLogStats, isLoggerShuttingDown, flushAndClose, setShuttingDown, rotateLogs, cleanOldLogs, };
export { type LogExporter, type ExporterConfig, type LokiConfig, type ElkConfig, type DatadogConfig, type WebhookConfig, initializeExporters, exportLog, flushExporters, getExporters, } from './exporters.js';
export { redactSensitiveInfo, redactObject, redactPemBlock, redactSecret, isLogRedactionEnabled, } from './redact.js';
export { type AuditEvent, type AuditEventType, type AuditLogConfig, logAuditEvent, logAuthEvent, logConfigChange, logPermissionChange, logDataAccess, configureAuditLog, getAuditConfig, } from './audit.js';
export { logger as default };
export { logger as baseLogger };
export { pino as Pino };
export declare function registerShutdownHandler(): void;
export { runWithLogContext, getAsyncLogContext, updateAsyncLogContext, inboundCorrelationMetadataFromAsyncLogContext, setRequestContext as setRequestLogger, clearRequestContext as clearRequestLogger, } from './context.js';
