import { ButtonProps } from '@/button/interface'; import { ReactNode, CSSProperties, MouseEvent, HTMLAttributes } from 'react'; export interface DrawerProps extends Omit, 'content' | 'title'> { classNames?: { header?: string; content?: string; footer?: string; mask?: string; wrapper?: string; }; styles?: { header?: CSSProperties; content?: CSSProperties; footer?: CSSProperties; mask?: CSSProperties; wrapper?: CSSProperties; }; title?: string | ReactNode; open?: boolean; mask?: boolean; maskClosable?: boolean; footer?: ReactNode | ((cancelButtonNode: ReactNode, okButtonNode: ReactNode) => ReactNode); closable?: boolean; closeIcon?: ReactNode; okText?: ReactNode; cancelText?: ReactNode; okButtonProps?: ButtonProps; cancelButtonProps?: ButtonProps; confirmLoading?: boolean; mountOnEnter?: boolean; unmountOnExit?: boolean; escToExit?: boolean; autoFocus?: boolean; placement?: 'top' | 'right' | 'bottom' | 'left'; onOk?: (e?: MouseEvent | Event) => Promise | void; onCancel?: (e?: MouseEvent) => void; afterOpen?: () => void; afterClose?: () => void; getPopupContainer?: () => HTMLElement | null; disabledOnPromise?: boolean; }