import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue'
export type CollapseItemBeforeExpand = (name: string) => void
export declare const collapseItemProps: {
  /**
   * 折叠栏的标题, 可通过 slot 传递自定义内容
   */
  title: {
    type: PropType<string>
    default: string
  }
  /**
   * 禁用折叠栏
   */
  disabled: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 折叠栏的标识符
   */
  name: {
    type: StringConstructor
    required: true
  }
  /**
   * 打开前的回调函数，返回 false 可以阻止打开，支持返回 Promise
   */
  beforeExpend: PropType<CollapseItemBeforeExpand>
  customStyle: {
    type: PropType<string>
    default: string
  }
  customClass: {
    type: PropType<string>
    default: string
  }
}
export type CollapseItemProps = ExtractPropTypes<typeof collapseItemProps>
export type CollapseItemExpose = {
  /**
   * 获取展开状态
   * @returns boolean
   */
  getExpanded: () => boolean
}
export type CollapseItemInstance = ComponentPublicInstance<CollapseItemProps, CollapseItemExpose>
