import type { TypeDrawerProps } from './type';
import './style';
export * from './type';
export type DrawerProps = TypeDrawerProps;
export declare const Drawer: import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("../config-provider").IconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    getConfirmBtn(options: import("../dialog/mixins/action").MixinsConfirmBtn): any;
    getCancelBtn(options: import("../dialog/mixins/action").MixinsCancelBtn): any;
    getButtonByProps(button: string | import("../button").TypeButtonProps, defaultButton: import("../button").TypeButtonProps, className?: import("../../common").ClassName): JSX.Element;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    getDefaultConfirmBtnProps(options: import("../dialog/mixins/action").MixinsConfirmBtn): import("../button").TypeButtonProps;
    getDefaultCancelBtnProps(options: import("../dialog/mixins/action").MixinsCancelBtn): import("../button").TypeButtonProps;
} & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("../config-provider").DrawerConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, {
    isSizeDragging: boolean;
    draggedSizeValue: any;
    animationStart: boolean;
    animationEnd: boolean;
    styleTimer: any;
    styleEl: any;
}, {
    clearStyleFunc(): void;
    afterEnter(): void;
    afterLeave(): void;
    enableDrag(): void;
    handleMouseup(): void;
    handleMousemove(e: MouseEvent): void;
    handleScrollThrough(visible: boolean): void;
    handlePushMode(): void;
    updatePushMode(): void;
    getDefaultBtn(btnType: "cancel" | "confirm", btnApi: import("./type").FooterButton): JSX.Element;
    isUseDefault(btnApi: import("./type").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: import("./type").DrawerCloseContext): void;
}, {
    drawerClasses: import("../../common").ClassName;
    sizeValue: string;
    wrapperStyles: import("../../common").Styles;
    wrapperClasses: import("../../common").ClassName;
    parentNode: HTMLElement;
    modeAndPlacement: string;
    footerStyle: import("../../common").Styles;
    isHorizontal: boolean;
    isVertical: boolean;
    draggableLineStyles: import("../../common").Styles;
}, {
    attach: import("../../common").AttachNode;
    body: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cancelBtn: import("./type").FooterButton;
    closeBtn: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: any;
    closeOnOverlayClick: any;
    confirmBtn: import("./type").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: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    mode: "push" | "overlay";
    placement: "left" | "right" | "top" | "bottom";
    preventScrollThrough: boolean;
    showInAttachedElement: boolean;
    showOverlay: boolean;
    size: any;
    sizeDraggable: boolean;
    visible: boolean;
    zIndex: number;
    onCancel: (context: {
        e: MouseEvent;
    }) => void;
    onClose: (context: import("./type").DrawerCloseContext) => void;
    onCloseBtnClick: (context: {
        e: MouseEvent;
    }) => void;
    onConfirm: (context: {
        e: MouseEvent;
    }) => void;
    onEscKeydown: (context: {
        e: KeyboardEvent;
    }) => void;
    onOverlayClick: (context: {
        e: MouseEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("../config-provider").IconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    getConfirmBtn(options: import("../dialog/mixins/action").MixinsConfirmBtn): any;
    getCancelBtn(options: import("../dialog/mixins/action").MixinsCancelBtn): any;
    getButtonByProps(button: string | import("../button").TypeButtonProps, defaultButton: import("../button").TypeButtonProps, className?: import("../../common").ClassName): JSX.Element;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    getDefaultConfirmBtnProps(options: import("../dialog/mixins/action").MixinsConfirmBtn): import("../button").TypeButtonProps;
    getDefaultCancelBtnProps(options: import("../dialog/mixins/action").MixinsCancelBtn): import("../button").TypeButtonProps;
} & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("../config-provider").DrawerConfig;
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, {
    isSizeDragging: boolean;
    draggedSizeValue: any;
    animationStart: boolean;
    animationEnd: boolean;
    styleTimer: any;
    styleEl: any;
}, {
    clearStyleFunc(): void;
    afterEnter(): void;
    afterLeave(): void;
    enableDrag(): void;
    handleMouseup(): void;
    handleMousemove(e: MouseEvent): void;
    handleScrollThrough(visible: boolean): void;
    handlePushMode(): void;
    updatePushMode(): void;
    getDefaultBtn(btnType: "cancel" | "confirm", btnApi: import("./type").FooterButton): JSX.Element;
    isUseDefault(btnApi: import("./type").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: import("./type").DrawerCloseContext): void;
}, {
    drawerClasses: import("../../common").ClassName;
    sizeValue: string;
    wrapperStyles: import("../../common").Styles;
    wrapperClasses: import("../../common").ClassName;
    parentNode: HTMLElement;
    modeAndPlacement: string;
    footerStyle: import("../../common").Styles;
    isHorizontal: boolean;
    isVertical: boolean;
    draggableLineStyles: import("../../common").Styles;
}, {
    attach: import("../../common").AttachNode;
    body: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cancelBtn: import("./type").FooterButton;
    closeBtn: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: any;
    closeOnOverlayClick: any;
    confirmBtn: import("./type").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: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    mode: "push" | "overlay";
    placement: "left" | "right" | "top" | "bottom";
    preventScrollThrough: boolean;
    showInAttachedElement: boolean;
    showOverlay: boolean;
    size: any;
    sizeDraggable: boolean;
    visible: boolean;
    zIndex: number;
    onCancel: (context: {
        e: MouseEvent;
    }) => void;
    onClose: (context: import("./type").DrawerCloseContext) => void;
    onCloseBtnClick: (context: {
        e: MouseEvent;
    }) => void;
    onConfirm: (context: {
        e: MouseEvent;
    }) => void;
    onEscKeydown: (context: {
        e: KeyboardEvent;
    }) => void;
    onOverlayClick: (context: {
        e: MouseEvent;
    }) => void;
}>>;
export default Drawer;
