"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Touchable_1 = require("../instrumentor/base/Touchable");
const Cloudwise_1 = require("../instrumentor/base/Cloudwise");
const Debug_1 = require("../instrumentor/base/Debug");
const TouchableHelper = Touchable_1.TouchableHelper(Cloudwise_1.Cloudwise, Debug_1.Debug);
const ReactNative = require("react-native");
class Button extends ReactNative.Button {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachHandleButton(this);
    }
}
exports.Button = Button;
class TouchableHighlight extends ReactNative.TouchableHighlight {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachHandlePress(this);
    }
}
exports.TouchableHighlight = TouchableHighlight;
class TouchableNativeFeedback extends ReactNative.TouchableNativeFeedback {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachHandlePress(this);
    }
}
exports.TouchableNativeFeedback = TouchableNativeFeedback;
class TouchableOpacity extends ReactNative.TouchableOpacity {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachHandlePress(this);
    }
}
exports.TouchableOpacity = TouchableOpacity;
class TouchableWithoutFeedback extends ReactNative.TouchableWithoutFeedback {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachHandlePress(this);
    }
}
exports.TouchableWithoutFeedback = TouchableWithoutFeedback;
