import { ILogger, ILoggerOptions } from '../types/index.mjs';
import 'pino';
import 'winston';

declare class WinstonService implements ILogger {
    private readonly logger;
    private readonly appName;
    constructor(options: ILoggerOptions['options']);
    infoWithExecutionTime(message: string, execution: {
        name: string;
        start: number;
    }, ...optionalParams: any[]): void;
    warnWithExecutionTime(message: string, execution: {
        name: string;
        start: number;
    }, ...optionalParams: any[]): void;
    errorWithExecutionTime(message: string, execution: {
        name: string;
        start: number;
    }, ...optionalParams: any[]): void;
    debugWithExecutionTime(message: string, execution: {
        name: string;
        start: number;
    }, ...optionalParams: any[]): void;
    info(message: string, ...optionalParams: any[]): void;
    warn(message: string, ...optionalParams: any[]): void;
    error(message: string, ...optionalParams: any[]): void;
    debug(message: string, ...optionalParams: any[]): void;
    private logWithExecutionTime;
}

export { WinstonService };
