import '../../../utils/index.mjs';
import PropTypes from '../../../utils/vue/vueTypes.mjs';

function returnEmptyString() {
  return "";
}
function returnDocument(element) {
  if (element)
    return element.ownerDocument;
  return window.document;
}
function noop() {
}
function triggerProps() {
  return {
    action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),
    showAction: PropTypes.any.def([]),
    hideAction: PropTypes.any.def([]),
    getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),
    onPopupVisibleChange: Function,
    afterPopupVisibleChange: PropTypes.func.def(noop),
    popup: PropTypes.any,
    popupStyle: { type: Object, default: void 0 },
    prefixCls: PropTypes.string.def("rc-trigger-popup"),
    popupClassName: PropTypes.string.def(""),
    popupPlacement: String,
    builtinPlacements: PropTypes.object,
    popupTransitionName: String,
    popupAnimation: PropTypes.any,
    mouseEnterDelay: PropTypes.number.def(0),
    mouseLeaveDelay: PropTypes.number.def(0.1),
    zIndex: Number,
    focusDelay: PropTypes.number.def(0),
    blurDelay: PropTypes.number.def(0.15),
    getPopupContainer: Function,
    getDocument: PropTypes.func.def(returnDocument),
    forceRender: { type: Boolean, default: void 0 },
    destroyPopupOnHide: { type: Boolean, default: false },
    mask: { type: Boolean, default: false },
    maskClosable: { type: Boolean, default: true },
    // onPopupAlign: PropTypes.func.def(noop),
    popupAlign: PropTypes.object.def(() => ({})),
    popupVisible: { type: Boolean, default: void 0 },
    defaultPopupVisible: { type: Boolean, default: false },
    maskTransitionName: String,
    maskAnimation: String,
    stretch: String,
    alignPoint: { type: Boolean, default: void 0 },
    // Maybe we can support user pass position in the future
    autoDestroy: { type: Boolean, default: false },
    mobile: Object,
    getTriggerDOMNode: Function
  };
}

export { noop, triggerProps };
//# sourceMappingURL=interface.mjs.map
