import { CSSProperties } from 'vue';
import { ScrollbarProps } from 'naive-ui';
import { MaybeArray } from '../../types';
export interface BasicDrawerProps {
    showCancelBtn?: boolean;
    showConfirmBtn?: boolean;
    showFooter?: boolean;
    title?: string;
    show: boolean;
    width?: string | number;
    height?: string | number;
    placement?: 'left' | 'right' | 'top' | 'bottom';
    maskClosable?: boolean;
    showMask?: boolean;
    to?: string | HTMLElement;
    displayDirective?: 'if' | 'show';
    nativeScrollbar?: boolean;
    zIndex?: number;
    onMaskClick?: (e: MouseEvent) => void;
    scrollbarProps?: ScrollbarProps;
    contentClass?: string;
    contentStyle?: string | CSSProperties;
    trapFocus?: boolean;
    onEsc?: () => void;
    autoFocus?: boolean;
    closeOnEsc?: boolean;
    blockScroll?: boolean;
    maxWidth?: number;
    maxHeight?: number;
    minWidth?: number;
    minHeight?: number;
    resizable?: boolean;
    defaultWidth?: string | number;
    defaultHeight?: string | number;
    onUpdateWidth?: MaybeArray<(value: number) => void>;
    onUpdateHeight?: MaybeArray<(value: number) => void>;
    onAfterEnter?: () => void;
    onAfterLeave?: () => void;
    drawerStyle?: string | CSSProperties;
    drawerClass?: string;
    target?: null;
    onShow?: (value: boolean) => void;
    onHide?: (value: boolean) => void;
    onClose?: () => Promise<boolean> | boolean | any;
    onPositiveClick?: () => Promise<boolean> | boolean | any;
    onNegativeClick?: () => Promise<boolean> | boolean | any;
    positiveText?: string;
    negativeText?: string;
    loading?: boolean;
    blurOnConfirm?: boolean;
}
export interface BasicDrawerEmits {
    (_e: 'positiveClick'): void;
    (_e: 'negativeClick'): void;
    (_e: 'update:show', _value: boolean): void;
}
export interface BasicDrawerContext {
    name: string;
}
//# sourceMappingURL=interface.d.ts.map