import winston from 'winston';
import { WalletData } from '../types';
export interface LoggerData extends LoggerMeta {
    action?: string;
    status?: 'succeeded' | 'failed' | 'in progress';
    txId?: number;
}
interface LoggerMeta {
    wallet?: WalletData;
    moduleName?: string;
}
declare module 'winston' {
    interface Logger {
        success: winston.LeveledLogMethod;
    }
}
export declare class Logger {
    private readonly logger;
    private logsPath;
    private fileName;
    meta: LoggerMeta;
    constructor(logsPath?: string, fileName?: string);
    private buildPath;
    private buildTemplate;
    private isTransportExists;
    private addTransport;
    private removeTransport;
    setLoggerMeta(meta: LoggerMeta): void;
    successDisplay(msg: string, templateData?: LoggerData): void;
    infoDisplay(msg: string, templateData?: LoggerData): void;
    warningDisplay(msg: string, templateData?: LoggerData): void;
    errorDisplay(msg: string, templateData?: LoggerData): void;
    success(msg: string, templateData?: LoggerData): void;
    info(msg: string, templateData?: LoggerData): void;
    warning(msg: string, templateData?: LoggerData): void;
    error(msg: string, templateData?: LoggerData): void;
}
export type LoggerType = Logger;
export declare const logger: Logger;
export {};
