import Vue from 'vue';
import { FooterButton, DrawerCloseContext } from './type';
import { DrawerConfig } from '../config-provider/config-receiver';
import { ClassName, Styles } from '../common';
declare type FooterButtonType = 'confirm' | 'cancel';
declare const _default: import("vue/types/vue").ExtendedVue<{
    getConfirmBtn(options: import("../dialog/actions").MixinsConfirmBtn): any;
    getCancelBtn(options: import("../dialog/actions").MixinsCancelBtn): any;
    getButtonByProps(button: string | import("../button").TdButtonProps, defaultButton: import("../button").TdButtonProps, className?: ClassName): JSX.Element;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    getDefaultConfrimBtnProps(options: import("../dialog/actions").MixinsConfirmBtn): import("../button").TdButtonProps;
    getDefaultCancelBtnProps(options: import("../dialog/actions").MixinsCancelBtn): import("../button").TdButtonProps;
} & Record<never, any> & Vue & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: DrawerConfig;
} & import("../config-provider/config-receiver").ConfigComponent, unknown, {
    handlePushMode(): void;
    updatePushMode(): void;
    getDefaultBtn(btnType: FooterButtonType, btnApi: FooterButton): JSX.Element;
    isUseDefault(btnApi: FooterButton): boolean;
    getDefaultFooter(): JSX.Element;
    handleCloseBtnClick(e: MouseEvent): void;
    handleWrapperClick(e: MouseEvent): void;
    onKeyDown(e: KeyboardEvent): void;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    closeDrawer(params: DrawerCloseContext): void;
}, {
    drawerClasses: ClassName;
    sizeValue: string;
    wrapperStyles: Styles;
    wrapperClasses: ClassName;
    parentNode: HTMLElement;
    modeAndPlacement: string;
    footerStyle: Styles;
}, {
    attach: import("../common").AttachNode;
    body: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cancelBtn: FooterButton;
    closeBtn: any;
    closeOnEscKeydown: boolean;
    closeOnOverlayClick: boolean;
    confirmBtn: FooterButton;
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    destroyOnClose: boolean;
    footer: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    header: any;
    mode: "push" | "overlay";
    placement: "left" | "top" | "bottom" | "right";
    showInAttachedElement: boolean;
    showOverlay: boolean;
    size: string;
    sizeDraggable: boolean;
    visible: boolean;
    defaultVisible: boolean;
    zIndex: number;
    onCancel: (context: {
        e: MouseEvent;
    }) => void;
    onClose: (context: DrawerCloseContext) => void;
    onCloseBtnClick: (context: {
        e: MouseEvent;
    }) => void;
    onConfirm: (context: {
        e: MouseEvent;
    }) => void;
    onEscKeydown: (context: {
        e: KeyboardEvent;
    }) => void;
    onOverlayClick: (context: {
        e: MouseEvent;
    }) => void;
}>;
export default _default;
