import { AllowedComponentProps, VNodeProps, type Shape, type Type } from '../common' import type { PopupProps } from './popup' import type { IconType, IconSize } from './icon' declare interface ActionSheetOption { label: string value?: string | number type?: Type //'default' | 'primary' | 'success' | 'warning' | 'error' | 'info' disabled?: boolean loading?: boolean icon?: string iconColor?: string iconType?: IconType iconSize?: IconSize iconShape?: Shape description?: string badge?: string | number | boolean badgeDot?: boolean color?: string textColor?: string customStyle?: Record selected?: boolean } declare interface ActionSheetProps extends PopupProps { // 内容配置 title?: string description?: string options?: ActionSheetOption[] // 选择相关 value?: string | number | (string | number)[] defaultValue?: string | number | (string | number)[] multiple?: boolean maxSelect?: number // 样式配置 round?: boolean // 列表配置 scrollable?: boolean // maxVisibleOptions?: number showDividers?: boolean itemHeight?: number | string // 取消按钮 showCancel?: boolean cancelText?: string cancelColor?: string // 自定义样式 customStyle?: Record } declare interface ActionSheetEmits { (e: 'update:modelValue', value: boolean): void (e: 'update:show', value: boolean): void (e: 'update:value', value: string | number | (string | number)[]): void (e: 'open'): void (e: 'close'): void (e: 'opened'): void (e: 'closed'): void (e: 'select', option: ActionSheetOption, index: number): void (e: 'multi-select', option: ActionSheetOption[]): void (e: 'cancel'): void (e: 'clickOverlay'): void } declare interface ActionSheetSlots { default?: any } declare interface _ActionSheet { new(): { $props: AllowedComponentProps & VNodeProps & ActionSheetProps $slots: ActionSheetSlots $emit: ActionSheetEmits open: () => void close: () => void toggle: () => void } } export declare const ActionSheet: _ActionSheet export default ActionSheet export type { ActionSheetProps, ActionSheetEmits, ActionSheetSlots, ActionSheetOption }