export type ChildLogger = {
    debug: (message: string, context?: Record<string, unknown>) => void;
    info: (message: string, context?: Record<string, unknown>) => void;
    warn: (message: string, context?: Record<string, unknown>) => void;
    error: (message: string, context?: Record<string, unknown>) => void;
};
declare class Logger {
    private static instance;
    private logger;
    private constructor();
    static getInstance(): Logger;
    debug(message: string, context?: Record<string, unknown>): void;
    info(message: string, context?: Record<string, unknown>): void;
    warn(message: string, context?: Record<string, unknown>): void;
    error(message: string, context?: Record<string, unknown>): void;
    createChildLogger(metadata: {
        module: string;
        service?: string;
        serviceId?: string;
        componentName?: string;
        subscriberId?: string;
        component?: string;
        requestId?: string;
        subscriptionTime?: string;
        environment?: string;
        serverId?: string;
        [key: string]: any;
    }): {
        debug: (message: string, context?: Record<string, unknown>) => void;
        info: (message: string, context?: Record<string, unknown>) => void;
        warn: (message: string, context?: Record<string, unknown>) => void;
        error: (message: string, context?: Record<string, unknown>) => void;
    };
}
export declare const logger: Logger;
export {};
