import { ApActionItemPopconfirmProps, ApActionItemSlots } from '../interface';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes, PropType, HTMLAttributes, CSSProperties, ComponentProvideOptions } from 'vue';
import { ActionColor } from '..';
import { LegacyButtonType, ButtonHTMLType, ButtonIconPosition, ButtonVariantType } from '@aplus-frontend/antdv/es/button/buttonTypes';
import { ButtonType, ButtonShape, ButtonSize } from '@aplus-frontend/antdv/es/button';
import { VueTypeValidableDef } from '../../../node_modules/vue-types';
import { MouseEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { TriggerType } from '@aplus-frontend/antdv/es/tooltip/abstractTooltipProps';
import { TooltipPlacement, AdjustOverflow } from '@aplus-frontend/antdv/es/tooltip';
import { LiteralUnion } from '@aplus-frontend/antdv/es/_util/type';
import { PresetColorType } from '@aplus-frontend/antdv/es/_util/colors';
import { AlignType, BuildInPlacements } from '@aplus-frontend/antdv/es/vc-trigger/interface';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApActionItemSlots> & ApActionItemSlots;
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApActionItemPopconfirmProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ApActionItemPopconfirmProps> & Readonly<{}>, {
    visible: boolean;
    color: ActionColor;
    disabled: boolean;
    loading: boolean;
    popconfirmProps: Partial< ExtractPropTypes<{
        prefixCls: StringConstructor;
        content: {
            default: any;
            type: PropType<any>;
        };
        title: {
            default: string | number;
            type: PropType<string | number>;
        };
        description: {
            default: string | number;
            type: PropType<string | number>;
        };
        okType: {
            type: PropType<LegacyButtonType>;
            default: LegacyButtonType;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        okText: {
            default: any;
            type: PropType<any>;
        };
        cancelText: {
            default: any;
            type: PropType<any>;
        };
        icon: {
            default: any;
            type: PropType<any>;
        };
        okButtonProps: {
            type: PropType<Partial< ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: PropType<ButtonType>;
                htmlType: {
                    type: PropType<ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: PropType<ButtonShape>;
                };
                size: {
                    type: PropType<ButtonSize>;
                };
                loading: {
                    type: PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                onMousedown: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                autoInsertSpace: BooleanConstructor;
                iconPosition: {
                    type: PropType<ButtonIconPosition>;
                    default: string;
                };
                color: PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
                variant: PropType<ButtonVariantType>;
            }>> & HTMLAttributes>;
            default: Partial< ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: PropType<ButtonType>;
                htmlType: {
                    type: PropType<ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: PropType<ButtonShape>;
                };
                size: {
                    type: PropType<ButtonSize>;
                };
                loading: {
                    type: PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                onMousedown: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                autoInsertSpace: BooleanConstructor;
                iconPosition: {
                    type: PropType<ButtonIconPosition>;
                    default: string;
                };
                color: PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
                variant: PropType<ButtonVariantType>;
            }>> & HTMLAttributes;
        };
        cancelButtonProps: {
            type: PropType<Partial< ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: PropType<ButtonType>;
                htmlType: {
                    type: PropType<ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: PropType<ButtonShape>;
                };
                size: {
                    type: PropType<ButtonSize>;
                };
                loading: {
                    type: PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                onMousedown: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                autoInsertSpace: BooleanConstructor;
                iconPosition: {
                    type: PropType<ButtonIconPosition>;
                    default: string;
                };
                color: PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
                variant: PropType<ButtonVariantType>;
            }>> & HTMLAttributes>;
            default: Partial< ExtractPropTypes<{
                prefixCls: StringConstructor;
                type: PropType<ButtonType>;
                htmlType: {
                    type: PropType<ButtonHTMLType>;
                    default: string;
                };
                shape: {
                    type: PropType<ButtonShape>;
                };
                size: {
                    type: PropType<ButtonSize>;
                };
                loading: {
                    type: PropType<boolean | {
                        delay?: number;
                    }>;
                    default: () => boolean | {
                        delay?: number;
                    };
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                ghost: {
                    type: BooleanConstructor;
                    default: any;
                };
                block: {
                    type: BooleanConstructor;
                    default: any;
                };
                danger: {
                    type: BooleanConstructor;
                    default: any;
                };
                icon: VueTypeValidableDef<any>;
                href: StringConstructor;
                target: StringConstructor;
                title: StringConstructor;
                onClick: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                onMousedown: {
                    type: PropType< MouseEventHandler | MouseEventHandler[]>;
                };
                autoInsertSpace: BooleanConstructor;
                iconPosition: {
                    type: PropType<ButtonIconPosition>;
                    default: string;
                };
                color: PropType<"default" | "blue" | "cyan" | "gold" | "green" | "lime" | "magenta" | "orange" | "pink" | "purple" | "red" | "yellow" | "volcano" | "geekblue" | "danger" | "primary">;
                variant: PropType<ButtonVariantType>;
            }>> & HTMLAttributes;
        };
        showCancel: {
            type: BooleanConstructor;
            default: boolean;
        };
        onConfirm: PropType<(e: MouseEvent) => void>;
        onCancel: PropType<(e: MouseEvent) => void>;
        trigger: PropType< TriggerType | TriggerType[]>;
        open: {
            type: BooleanConstructor;
            default: any;
        };
        visible: {
            type: BooleanConstructor;
            default: any;
        };
        placement: PropType<TooltipPlacement>;
        color: PropType<LiteralUnion<PresetColorType>>;
        transitionName: StringConstructor;
        overlayStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        overlayInnerStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        overlayClassName: StringConstructor;
        openClassName: StringConstructor;
        mouseEnterDelay: NumberConstructor;
        mouseLeaveDelay: NumberConstructor;
        getPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        arrowPointAtCenter: {
            type: BooleanConstructor;
            default: any;
        };
        arrow: {
            type: PropType<boolean | {
                pointAtCenter?: boolean;
            }>;
            default: boolean | {
                pointAtCenter?: boolean;
            };
        };
        autoAdjustOverflow: {
            type: PropType<boolean | AdjustOverflow>;
            default: boolean | AdjustOverflow;
        };
        destroyTooltipOnHide: {
            type: BooleanConstructor;
            default: any;
        };
        align: {
            type: PropType<AlignType>;
            default: AlignType;
        };
        builtinPlacements: {
            type: PropType<BuildInPlacements>;
            default: BuildInPlacements;
        };
        children: ArrayConstructor;
        onVisibleChange: PropType<(vis: boolean) => void>;
        'onUpdate:visible': PropType<(vis: boolean) => void>;
        onOpenChange: PropType<(vis: boolean) => void>;
        'onUpdate:open': PropType<(vis: boolean) => void>;
        mask: {
            type: BooleanConstructor;
            default: boolean;
        };
        maskStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        maskTransitionName: StringConstructor;
        maskClosable: {
            type: BooleanConstructor;
            default: boolean;
        };
        forceRender: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>>;
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
