import { ButtonColor, ButtonSize, ButtonType } from './VcButton.types';
import { TIconClass } from './icons.types';
import { VNode } from 'vue';
export declare type PopoverTriggerType = 'click' | 'focus' | 'hover' | 'contextmenu' | 'manual';
export declare type PopoverPlacementType = 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end';
export declare type PopoverThemeType = 'dark' | 'light';
export declare type TPConfirmActionsParams = {
    label?: string;
    color?: ButtonColor;
    icon?: TIconClass;
    size?: ButtonSize;
    type?: ButtonType;
};
export declare type TConfirmPopupParams = {
    target: any;
    header?: string;
    icon?: string;
    iconClasses?: string;
    type?: 'confirm' | 'save' | 'edit' | 'delete';
    message?: string;
    renderContent?: VNode;
    placement?: PopoverPlacementType;
    popoverWidth?: string | number;
    popoverMaxWidth?: string | number;
    confirmAction?: TPConfirmActionsParams;
    cancelAction?: TPConfirmActionsParams;
    confirm?: () => void;
    cancel?: () => void;
};
export declare type TConfirmPopupObject = {
    target: any;
    open: boolean;
    header?: string;
    type: string;
    icon?: string;
    iconClasses?: '';
    message: string;
    popoverMaxWidth?: string | number;
    renderContent: VNode | undefined;
    placement: PopoverPlacementType | undefined;
    openPopup: (params: TConfirmPopupParams) => void;
    closePopup: () => void;
    onClose?: () => void;
    onConfirm?: () => void;
    confirmAction?: TPConfirmActionsParams;
    cancelAction?: TPConfirmActionsParams;
};
export declare type TPopConfirmOptions = {
    themeEffect?: PopoverThemeType;
    placement?: PopoverPlacementType;
    persistent?: boolean;
    popoverClass?: string;
    teleported?: boolean;
    mouseEvent?: boolean;
    offset?: number;
    delayClose?: number;
    actionSize?: ButtonSize;
    confirmActionColor?: ButtonColor;
};
