import type { ExtractPropTypes, PropType } from 'vue'
export type SwipeActionStatus = 'left' | 'close' | 'right'
export type SwipeActionReason = 'click' | 'swipe' | 'value'
export type SwipeActionPosition = SwipeActionStatus | 'inside'
export type SwipeActionBeforeClose = (
  reason: SwipeActionReason,
  position: SwipeActionPosition,
) => void
export declare const swipeActionProps: {
  /**
   * 滑动按钮的状态，使用v-model进行双向绑定。
   * 可选值为：'left'（左滑）、'close'（关闭状态）、'right'（右滑）。
   * 类型：string
   * 默认值：'close'
   */
  modelValue: {
    type: PropType<SwipeActionStatus>
    default: SwipeActionStatus
  }
  /**
   * 是否禁用滑动操作。
   * 类型：boolean
   * 默认值：false
   */
  disabled: {
    type: BooleanConstructor
    default: boolean
  }
  /**
   * 在关闭滑动按钮前调用的钩子函数。
   * 可以在此函数中执行一些关闭前的操作，如确认提示等。
   * 类型：function
   * 默认值：无
   */
  beforeClose: PropType<SwipeActionBeforeClose>
  customStyle: {
    type: PropType<string>
    default: string
  }
  customClass: {
    type: PropType<string>
    default: string
  }
}
export type SwipeActionProps = ExtractPropTypes<typeof swipeActionProps>
