define("PopupApi", ["componentmodelComponentApi", "gameLayoutApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, gameLayoutApi, clientkernelEventbusApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof PopupApi == 'undefined') {
            var PopupApi = {};
        };

        PopupApi.IPopupImplementationPort = function() {}
        PopupApi.IPopupImplementationPort.prototype = {

            getShowMaxAwardCap: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowMaxFreeSpinOrJackpot: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowBonusAwardCap: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowJackpotLevelUp: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getShowBonusOutro: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPopupShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        PopupApi.IPopupPort = function() {}
        PopupApi.IPopupPort.prototype = {

            showMaxAwardCap: function(text) {
                return {
                    arguments: ["string"],
                    returns: "void"
                };
            },
            showMaxFreeSpinOrJackpot: function(text) {
                return {
                    arguments: ["string"],
                    returns: "void"
                };
            },
            showBonusAwardCap: function(values) {
                return {
                    arguments: ["array"],
                    returns: "void"
                };
            },
            showJackpotLevelUp: function(text) {
                return {
                    arguments: [{
                        type: "string",
                        opt: true
                    }],
                    returns: "void"
                };
            },
            showBonusOutro: function(text) {
                return {
                    arguments: ["string"],
                    returns: "void"
                };
            },
            hide: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            },
            getPopupShown: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        PopupApi.PopupDeclaration = function() {};
        PopupApi.PopupDeclaration = ck_implements(PopupApi.PopupDeclaration, componentmodelComponentApi.IComponentDeclaration);
        PopupApi.PopupDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        PopupApi.PopupDeclaration.__name__ = ["PopupApi", "PopupDeclaration"];
        PopupApi.PopupDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        PopupApi.PopupDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        PopupApi.PopupDeclaration.prototype.getImplementedPorts = function() {
            return [PopupApi.IPopupImplementationPort];
        };
        PopupApi.PopupDeclaration.prototype.getUsedPorts = function() {
            return [gameLayoutApi.IGameLayoutPort];
        };
        PopupApi.PopupDeclaration.prototype.__class__ = PopupApi.PopupDeclaration;
        PopupApi.PopupPort = function(bus) {
            this.popupShownTopic = new clientkernelEventbusApi.Topic("popup:popupShown");
            this.hideTopic = new clientkernelEventbusApi.Topic("popup:hide");
            this.showBonusOutroTopic = new clientkernelEventbusApi.Topic("popup:showBonusOutro");
            this.showJackpotLevelUpTopic = new clientkernelEventbusApi.Topic("popup:showJackpotLevelUpTopic");
            this.showBonusAwardCapTopic = new clientkernelEventbusApi.Topic("popup:showBonusAwardCap");
            this.showMaxFreeSpinOrJackpotTopic = new clientkernelEventbusApi.Topic("popup:showMaxFreeSpinOrJackpot");
            this.showMaxAwardCapTopic = new clientkernelEventbusApi.Topic("popup:showMaxAwardCap");
            this.showMaxAwardCapTopic.connect(bus);
            this.showMaxFreeSpinOrJackpotTopic.connect(bus);
            this.showBonusAwardCapTopic.connect(bus);
            this.showJackpotLevelUpTopic.connect(bus);
            this.showBonusOutroTopic.connect(bus);
            this.popupShownTopic.connect(bus);
            this.hideTopic.connect(bus);
        };
        PopupApi.PopupPort = ck_implements(PopupApi.PopupPort, PopupApi.IPopupPort);
        PopupApi.PopupPort = ck_implements(PopupApi.PopupPort, PopupApi.IPopupImplementationPort);
        PopupApi.PopupPort.__interfaces__ = [PopupApi.IPopupPort, PopupApi.IPopupImplementationPort];
        PopupApi.PopupPort.__name__ = ["PopupApi", "PopupPort"];
        PopupApi.PopupPort.prototype.showMaxAwardCapTopic = null;
        PopupApi.PopupPort.prototype.showMaxFreeSpinOrJackpotTopic = null;
        PopupApi.PopupPort.prototype.showBonusAwardCapTopic = null;
        PopupApi.PopupPort.prototype.showJackpotLevelUpTopic = null;
        PopupApi.PopupPort.prototype.showBonusOutroTopic = null;
        PopupApi.PopupPort.prototype.hideTopic = null;
        PopupApi.PopupPort.prototype.popupShownTopic = null;
        PopupApi.PopupPort.prototype.getPopupShown = function() {
            return this.popupShownTopic;
        };
        PopupApi.PopupPort.prototype.showMaxAwardCap = function(text) {
            this.getShowMaxAwardCap().publish(text);
        };
        PopupApi.PopupPort.prototype.showMaxFreeSpinOrJackpot = function(text) {
            this.getShowMaxFreeSpinOrJackpot().publish(text);
        };
        PopupApi.PopupPort.prototype.showBonusAwardCap = function(values) {
            this.getShowBonusAwardCap().publish(values);
        };
        PopupApi.PopupPort.prototype.showJackpotLevelUp = function(text) {
            if (text == null) text = "";
            this.getShowJackpotLevelUp().publish(text);
        };
        PopupApi.PopupPort.prototype.showBonusOutro = function(text) {
            this.getShowBonusOutro().publish(text);
        };
        PopupApi.PopupPort.prototype.hide = function() {
            this.getHide().publish(null);
        };
        PopupApi.PopupPort.prototype.getShowMaxAwardCap = function() {
            return this.showMaxAwardCapTopic;
        };
        PopupApi.PopupPort.prototype.getShowMaxFreeSpinOrJackpot = function() {
            return this.showMaxFreeSpinOrJackpotTopic;
        };
        PopupApi.PopupPort.prototype.getShowBonusAwardCap = function() {
            return this.showBonusAwardCapTopic;
        };
        PopupApi.PopupPort.prototype.getShowJackpotLevelUp = function() {
            return this.showJackpotLevelUpTopic;
        };
        PopupApi.PopupPort.prototype.getShowBonusOutro = function() {
            return this.showBonusOutroTopic;
        };
        PopupApi.PopupPort.prototype.getHide = function() {
            return this.hideTopic;
        };
        PopupApi.PopupPort.prototype.__class__ = PopupApi.PopupPort;
        PopupApi.PopupPortFactory = function() {};
        PopupApi.PopupPortFactory = ck_implements(PopupApi.PopupPortFactory, componentmodelComponentApi.IPortFactory);
        PopupApi.PopupPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        PopupApi.PopupPortFactory.__name__ = ["PopupApi", "PopupPortFactory"];
        PopupApi.PopupPortFactory.prototype.provide = function(channel) {
            return new PopupApi.PopupPort(channel);
        };
        PopupApi.PopupPortFactory.prototype["use"] = function(channel) {
            return new PopupApi.PopupPort(channel);
        };
        PopupApi.PopupPortFactory.prototype.__class__ = PopupApi.PopupPortFactory;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        return {
            exports: PopupApi
        };
    });
//# sourceURL=wildFuryPopupApi.js