import { type ComponentType, type ForwardRefExoticComponent, type PropsWithoutRef, type RefAttributes } from 'react'; import type { CreateDrawerOptions, DrawerChildProps, DrawerContainerRef, DrawerWrapperProps } from './types'; /** * 创建一个自动管理生命周期的 Drawer 容器。 * * - 自动管理 open 状态,通过 ref 暴露 `open(params)` / `close()` 方法 * - open=false 时 Content 完全卸载,内部所有 useState 等自动销毁 * - 泛型 P 决定 open() 的参数结构,Content 通过 `params` 接收 * - 支持 `beforeClose` 守卫,可在关闭前拦截(如表单脏检查) * - 支持 `destroyAfterClose`,等待退出动画结束后再卸载内容 * * @example * ```tsx * const UserDetailDrawer = createDrawer<{ id: string }>( * ({ params, onClose }) => { * const { data } = useRequest(() => getByIdByGet(params.id)); * return ( * * * * ); * }, * ); * ``` */ declare function createDrawer

>(Content: ComponentType>, options?: CreateDrawerOptions): ForwardRefExoticComponent & RefAttributes>>; /** SDrawerContainer 是 createDrawer 的别名,保持向后兼容 */ declare const SDrawerContainer: typeof createDrawer; export { createDrawer, SDrawerContainer }; export default createDrawer;