"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);
        if (ReactNative.Platform.OS === "android") {
            TouchableHelper.attachHandleButton(this);
        }
    }
}
exports.Button = Button;
exports.TouchableHighlight = TouchableHelper.attachToOnPress(ReactNative.TouchableHighlight);
exports.TouchableOpacity = TouchableHelper.attachToOnPress(ReactNative.TouchableOpacity);
class TouchableNativeFeedback extends ReactNative.TouchableNativeFeedback {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachOnPressibility(this);
    }
}
exports.TouchableNativeFeedback = TouchableNativeFeedback;
class TouchableWithoutFeedback extends ReactNative.TouchableWithoutFeedback {
    constructor(props, context) {
        super(props, context);
        TouchableHelper.attachOnPressibility(this);
    }
}
exports.TouchableWithoutFeedback = TouchableWithoutFeedback;
