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

function abstractCheckboxGroupProps() {
  return {
    name: String,
    prefixCls: String,
    options: arrayType(
      []
    ),
    disabled: Boolean,
    id: String
  };
}
function abstractCheckboxProps() {
  return {
    "prefixCls": String,
    "defaultChecked": booleanType(),
    "checked": booleanType(),
    "disabled": booleanType(),
    "isGroup": booleanType(),
    "value": PropTypes.any,
    "name": String,
    "id": String,
    "indeterminate": booleanType(),
    "type": stringType("checkbox"),
    "autofocus": booleanType(),
    "onChange": functionType(),
    "onUpdate:checked": functionType(),
    "onClick": functionType(),
    "skipGroup": booleanType(false)
  };
}
function checkboxGroupProps() {
  return {
    ...abstractCheckboxGroupProps(),
    "defaultValue": arrayType(),
    "value": arrayType(),
    "onChange": functionType(),
    "onUpdate:value": functionType()
  };
}
function checkboxProps() {
  return {
    ...abstractCheckboxProps(),
    indeterminate: booleanType(false)
  };
}
function checkboxRenderProps() {
  return {
    prefixCls: String,
    name: String,
    id: String,
    type: String,
    defaultChecked: { type: [Boolean, Number], default: void 0 },
    checked: { type: [Boolean, Number], default: void 0 },
    disabled: Boolean,
    tabindex: { type: [Number, String] },
    readonly: Boolean,
    autofocus: Boolean,
    value: PropTypes.any,
    required: Boolean
  };
}

export { abstractCheckboxGroupProps, abstractCheckboxProps, checkboxGroupProps, checkboxProps, checkboxRenderProps };
//# sourceMappingURL=props.mjs.map
