import pino, { Logger, LoggerOptions, DestinationStream, TransportTargetOptions } from "pino";
export interface BaasixLoggerOptions {
    /** Pino log level: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent' */
    level?: pino.LevelWithSilentOrString;
    /** Custom pino transport configuration */
    transport?: {
        target: string;
        options?: Record<string, unknown>;
    } | {
        targets: TransportTargetOptions[];
    };
    /** Additional pino options */
    options?: Omit<LoggerOptions, 'level' | 'transport'>;
    /** Custom destination stream (if not using transport) */
    destination?: DestinationStream;
    /** Enable pretty printing in development (uses pino-pretty) */
    pretty?: boolean;
}
/**
 * Initialize the logger with custom options
 * This should be called once at server startup
 */
export declare function initializeLogger(options?: BaasixLoggerOptions): Logger;
/**
 * Get the logger instance
 * If not initialized, creates a default logger
 */
export declare function getLogger(): Logger;
/**
 * Get original console methods (before override)
 */
export declare function getOriginalConsole(): {
    log: typeof console.log;
    info: typeof console.info;
    warn: typeof console.warn;
    error: typeof console.error;
    debug: typeof console.debug;
} | undefined;
export default getLogger;
export type { Logger, LoggerOptions, DestinationStream } from "pino";
//# sourceMappingURL=logger.d.ts.map