import { DropdownProps, ModalFuncProps, PopconfirmProps, TooltipProps } from '@aplus-frontend/antdv';
import { VNode } from 'vue';
export type ActionColor = 'primary' | 'success' | 'error' | 'warn';
export type ApActionItemProps = {
    /**
     * 文本
     */
    text?: string | VNode;
    /**
     * 预定义文本颜色
     */
    color?: ActionColor;
    /**
     * 是否禁用
     */
    disabled?: boolean;
    /**
     * 是否可见
     */
    visible?: boolean;
    /**
     * 点击时的动作，支持异步
     * @param e
     * @returns
     */
    onAction?: (e: MouseEvent) => Promise<any>;
    /**
     * 基础点击事件
     * @param e
     * @returns
     */
    onClick?: (e: MouseEvent) => void;
    /**
     * 是否显示loading效果
     */
    loading?: boolean;
    /**
     * 配置左侧显示的图标
     * @since 6.37.0
     */
    icon?: any;
    /**
     * 是否优先显示图标
     */
    iconFirst?: boolean;
    /**
     * 优先显示图标时，对弹出的tooltip进行设置
     */
    tooltip?: Partial<Omit<TooltipProps, 'title'>>;
};
export type MixedActionTypes = ApActionItemProps | ApActionItemModalProps | ApActionItemPopconfirmProps;
export type GroupActionTypes = MixedActionTypes | ApActionItemDropdownProps;
export type ApActionItemDropdownProps = {
    /**
     * 触发下拉的行为
     */
    trigger?: DropdownProps['trigger'];
    /**
     * 菜单弹出的位置
     */
    placement?: DropdownProps['placement'];
    /**
     * 下拉菜单中的行为项配置
     */
    actions?: MixedActionTypes[];
    /**
     * 是否显示向下的箭头
     */
    showIcon?: boolean;
} & Omit<ApActionItemProps, 'onAction'>;
export type ApActionGroupProps = {
    count?: number;
    /**
     * 触发下拉的行为
     */
    trigger?: DropdownProps['trigger'];
    /**
     * 菜单弹出的位置
     */
    placement?: DropdownProps['placement'];
    /**
     * 菜单项配置
     */
    actions?: GroupActionTypes[];
    /**
     * 对于平铺Action，优先显示图标
     */
    iconFirst?: boolean;
};
export type ApActionItemModalProps = ApActionItemProps & {
    /**
     * 对话框的具体配置
     */
    modalProps?: Omit<ModalFuncProps, 'type'>;
};
export type ApActionItemPopconfirmProps = ApActionItemProps & {
    popconfirmProps?: PopconfirmProps;
};
/**
 * ApActionItem支持的插槽
 */
export type ApActionItemSlots = {
    default?: any;
    trigger?: (options: {
        loading: boolean;
        disabled: boolean;
        onClick: (e: MouseEvent) => void;
    }) => any;
    /**
     * 自定义左侧图标
     */
    icon?: any;
};
