define("WinMeterWrapperApi", ["componentmodelComponentApi", "slotModelApi", "winMeterApi", "gameLayoutApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, slotModelApi, winMeterApi, 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 WinMeterWrapperApi == 'undefined') {
            var WinMeterWrapperApi = {};
        };

        WinMeterWrapperApi.IWMWrapperImplementationPort = function() {}
        WinMeterWrapperApi.IWMWrapperImplementationPort.prototype = {

            displayWin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showMessage: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onCountUpStarted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onCountUpFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onDisplayWinFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onInterruptAvailable: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onBigAnimationStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onMediumAnimationStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        WinMeterWrapperApi.IWMWrapperPort = function() {}
        WinMeterWrapperApi.IWMWrapperPort.prototype = {

            displayWin: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            showMessage: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onCountUpStarted: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onCountUpFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onDisplayWinFinished: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onInterruptAvailable: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onBigAnimationStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            onMediumAnimationStart: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        WinMeterWrapperApi.WMWrapperDeclaration = function() {};
        WinMeterWrapperApi.WMWrapperDeclaration = ck_implements(WinMeterWrapperApi.WMWrapperDeclaration, componentmodelComponentApi.IComponentDeclaration);
        WinMeterWrapperApi.WMWrapperDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        WinMeterWrapperApi.WMWrapperDeclaration.__name__ = ["WinMeterWrapperApi", "WMWrapperDeclaration"];
        WinMeterWrapperApi.WMWrapperDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        WinMeterWrapperApi.WMWrapperDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        WinMeterWrapperApi.WMWrapperDeclaration.prototype.getImplementedPorts = function() {
            return [WinMeterWrapperApi.IWMWrapperImplementationPort];
        };
        WinMeterWrapperApi.WMWrapperDeclaration.prototype.getUsedPorts = function() {
            return [gameLayoutApi.IGameLayoutPort];
        };
        WinMeterWrapperApi.WMWrapperDeclaration.prototype.__class__ = WinMeterWrapperApi.WMWrapperDeclaration;
        WinMeterWrapperApi.WMWrapperPort = function(bus) {
            this.onMediumAnimationStartTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onMediumAnimationStart");
            this.onBigAnimationStartTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onBigAnimationStart");
            this.onInterruptAvailableTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onInterruptAvailable");
            this.onDisplayWinFinishedTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onDisplayWinFinished");
            this.onCountUpFinishedTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onCountUpFinished");
            this.onCountUpStartedTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:onCountUpStarted");
            this.showMessageTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:showMessage");
            this.displayWinTopic = new clientkernelEventbusApi.Topic("winMeterWrapper:displayWin");
            this.displayWinTopic.connect(bus);
            this.showMessageTopic.connect(bus);
            this.onCountUpStartedTopic.connect(bus);
            this.onCountUpFinishedTopic.connect(bus);
            this.onDisplayWinFinishedTopic.connect(bus);
            this.onInterruptAvailableTopic.connect(bus);
            this.onBigAnimationStartTopic.connect(bus);
            this.onMediumAnimationStartTopic.connect(bus);
        };
        WinMeterWrapperApi.WMWrapperPort = ck_implements(WinMeterWrapperApi.WMWrapperPort, WinMeterWrapperApi.IWMWrapperPort);
        WinMeterWrapperApi.WMWrapperPort = ck_implements(WinMeterWrapperApi.WMWrapperPort, WinMeterWrapperApi.IWMWrapperImplementationPort);
        WinMeterWrapperApi.WMWrapperPort.__interfaces__ = [WinMeterWrapperApi.IWMWrapperPort, WinMeterWrapperApi.IWMWrapperImplementationPort];
        WinMeterWrapperApi.WMWrapperPort.__name__ = ["WinMeterWrapperApi", "WMWrapperPort"];
        WinMeterWrapperApi.WMWrapperPort.prototype.displayWinTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.showMessageTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onCountUpStartedTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onCountUpFinishedTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onDisplayWinFinishedTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onInterruptAvailableTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onBigAnimationStartTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.onMediumAnimationStartTopic = null;
        WinMeterWrapperApi.WMWrapperPort.prototype.displayWin = function() {
            return this.displayWinTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.showMessage = function() {
            return this.showMessageTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onDisplayWinFinished = function() {
            return this.onDisplayWinFinishedTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onCountUpStarted = function() {
            return this.onCountUpStartedTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onCountUpFinished = function() {
            return this.onCountUpFinishedTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onInterruptAvailable = function() {
            return this.onInterruptAvailableTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onBigAnimationStart = function() {
            return this.onBigAnimationStartTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.onMediumAnimationStart = function() {
            return this.onMediumAnimationStartTopic;
        };
        WinMeterWrapperApi.WMWrapperPort.prototype.__class__ = WinMeterWrapperApi.WMWrapperPort;
        WinMeterWrapperApi.WMWrapperPortFactory = function() {};
        WinMeterWrapperApi.WMWrapperPortFactory = ck_implements(WinMeterWrapperApi.WMWrapperPortFactory, componentmodelComponentApi.IPortFactory);
        WinMeterWrapperApi.WMWrapperPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        WinMeterWrapperApi.WMWrapperPortFactory.__name__ = ["WinMeterWrapperApi", "WMWrapperPortFactory"];
        WinMeterWrapperApi.WMWrapperPortFactory.prototype.provide = function(channel) {
            return new WinMeterWrapperApi.WMWrapperPort(channel);
        };
        WinMeterWrapperApi.WMWrapperPortFactory.prototype["use"] = function(channel) {
            return new WinMeterWrapperApi.WMWrapperPort(channel);
        };
        WinMeterWrapperApi.WMWrapperPortFactory.prototype.__class__ = WinMeterWrapperApi.WMWrapperPortFactory;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

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

        };
        return {
            exports: WinMeterWrapperApi
        };
    });
//# sourceURL=ballooniesIxfWinmeterwrapperApi.js