import '../../../utils/index.mjs';
import { objectType, functionType, stringType, someType, booleanType } from '../../../utils/vue/propType.mjs';
import PropTypes from '../../../utils/vue/vueTypes.mjs';

function addButtonProps() {
  return {
    prefixCls: String,
    editable: { type: Object },
    locale: { type: Object, default: void 0 }
  };
}
function tabNavListProps() {
  return {
    id: { type: String },
    tabPosition: { type: String },
    activeKey: { type: [String, Number] },
    rtl: { type: Boolean },
    animated: objectType(),
    editable: objectType(),
    moreIcon: PropTypes.any,
    moreTransitionName: { type: String },
    mobile: { type: Boolean },
    tabBarGutter: { type: Number },
    renderTabBar: { type: Function },
    locale: objectType(),
    popupClassName: String,
    getPopupContainer: functionType(),
    onTabClick: {
      type: Function
    },
    onTabScroll: { type: Function }
  };
}
const operationNodeProps = {
  prefixCls: { type: String },
  id: { type: String },
  tabs: { type: Object },
  rtl: { type: Boolean },
  tabBarGutter: { type: Number },
  activeKey: { type: [String, Number] },
  mobile: { type: Boolean },
  moreIcon: PropTypes.any,
  moreTransitionName: { type: String },
  editable: { type: Object },
  locale: { type: Object, default: void 0 },
  removeAriaLabel: String,
  onTabClick: { type: Function },
  popupClassName: String,
  getPopupContainer: functionType()
};
function tabNodeProps() {
  return {
    id: { type: String },
    prefixCls: { type: String },
    tab: { type: Object },
    active: { type: Boolean },
    closable: { type: Boolean },
    editable: { type: Object },
    onClick: { type: Function },
    onResize: {
      type: Function
    },
    renderWrapper: { type: Function },
    removeAriaLabel: { type: String },
    // onRemove: { type: Function as PropType<() => void> },
    onFocus: { type: Function }
  };
}
function tabPanelListProps() {
  return {
    activeKey: { type: [String, Number] },
    id: { type: String },
    rtl: { type: Boolean },
    animated: { type: Object, default: void 0 },
    tabPosition: { type: String },
    destroyInactiveTabPane: { type: Boolean }
  };
}
function tabPaneProps() {
  return {
    tab: PropTypes.any,
    disabled: { type: Boolean },
    forceRender: { type: Boolean },
    closable: { type: Boolean },
    animated: { type: Boolean },
    active: { type: Boolean },
    destroyInactiveTabPane: { type: Boolean },
    // Pass by TabPaneList
    prefixCls: { type: String },
    tabKey: { type: [String, Number] },
    id: { type: String }
    // closeIcon: PropTypes.any,
  };
}
function tabsProps() {
  return {
    "prefixCls": { type: String },
    "id": { type: String },
    "popupClassName": String,
    "getPopupContainer": functionType(),
    "activeKey": { type: [String, Number] },
    "defaultActiveKey": { type: [String, Number] },
    "direction": stringType(),
    "animated": someType([Boolean, Object]),
    "renderTabBar": functionType(),
    "tabBarGutter": { type: Number },
    "tabBarStyle": objectType(),
    "tabPosition": stringType(),
    "destroyInactiveTabPane": booleanType(),
    "hideAdd": Boolean,
    "type": stringType(),
    "size": stringType(),
    "centered": Boolean,
    "onEdit": functionType(),
    "onChange": functionType(),
    "onTabClick": functionType(),
    "onTabScroll": functionType(),
    "onUpdate:activeKey": functionType(),
    // Accessibility
    "locale": objectType(),
    "onPrevClick": functionType(),
    "onNextClick": functionType(),
    "tabBarExtraContent": PropTypes.any
  };
}

export { addButtonProps, operationNodeProps, tabNavListProps, tabNodeProps, tabPaneProps, tabPanelListProps, tabsProps };
//# sourceMappingURL=props.mjs.map
