"use strict";
var stream = require("stream");
var Future = require("fibers/future");
var ProtonLogger = (function () {
    function ProtonLogger() {
    }
    ProtonLogger.prototype.setLevel = function (level) {
    };
    ProtonLogger.prototype.getLevel = function () {
        return "INFO";
    };
    ProtonLogger.prototype.fatal = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.error = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.warn = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.warnWithLabel = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.info = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.debug = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.trace = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.out = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.write = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    ProtonLogger.prototype.prepare = function (item) {
        if (typeof item === "undefined" || item === null) {
            return "[no content]";
        }
        if (typeof item === "string") {
            return item;
        }
        if (item instanceof stream.Readable) {
            return "[ReadableStream]";
        }
        return JSON.stringify(item);
    };
    ProtonLogger.prototype.printInfoMessageOnSameLine = function (message) {
    };
    ProtonLogger.prototype.printMsgWithTimeout = function (message, timeout) {
        var _this = this;
        var printMsgFuture = new Future();
        setTimeout(function () {
            _this.printInfoMessageOnSameLine(message);
            printMsgFuture.return();
        }, timeout);
        return printMsgFuture;
    };
    ProtonLogger.prototype.printMarkdown = function () {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
            args[_i - 0] = arguments[_i];
        }
    };
    return ProtonLogger;
})();
exports.ProtonLogger = ProtonLogger;
$injector.register("logger", ProtonLogger);
