import { MouseEvent, ReactNode } from 'react';
import { DrawerV1Props } from '@alifd/next/types/drawer/types';
import { ButtonProps } from '../../button';
/**
 * 这里都是魔改新增的
 */
export interface IDrawerProps extends DrawerV1Props {
    /**
     * 完全自定义底部操作栏（方法名，Node 身，论命名的重要性 - 愚蠢）
     */
    renderFooter?: ReactNode;
    /**
     * 是否有底部分割线
     */
    hasFooterLine?: boolean;
    /**
     * 底部按钮位置
     */
    footerAlign?: 'left' | 'center' | 'right';
    /**
     * 给footer增加className
     */
    footerClass?: string;
    /**
     * 确定按钮的文字
     */
    okText?: ReactNode;
    /**
     * 透传给确定按钮的Props
     */
    okBtnProps?: ButtonProps;
    /**
     * 取消按钮的文字
     */
    cancelText?: ReactNode;
    /**
     * 透传给取消按钮的Props
     */
    cancelBtnProps?: ButtonProps;
    /**
     * 抽屉大小，也可以直接传入width自定义
     */
    size?: 'mini' | 'small' | 'medium' | 'large';
    /**
     * 引用方法
     */
    actionRef?: (show: () => void, close: () => void, setOKLoading: (loading: boolean) => void, setCancelLoading: (loading: boolean) => void) => void;
    /**
     * 点击确定按钮时的回调。有此参数就默认显示确定按钮
     */
    onOk?: (e: MouseEvent) => void;
    /**
     * 点击取消按钮时的回调。有此参数就默认显示取消按钮
     */
    onCancel?: (e: MouseEvent) => void;
}
export interface IQuickShowDrawerProps extends Omit<IDrawerProps, 'content' | 'onOk' | 'onCancel'> {
    /**
     * 抽屉内容
     */
    content?: ReactNode;
    /**
     * 点击确定按钮时的回调。有此参数就默认显示确定按钮
     */
    onOk?: (e: MouseEvent) => boolean | Promise<unknown>;
    /**
     * 点击取消按钮时的回调。有此参数就默认显示取消按钮
     */
    onCancel?: (e: MouseEvent) => boolean | Promise<unknown>;
}
export interface IDrawerQuickShowReturn {
    hide: () => void;
    show: () => void;
}
