import { ReactElement, ReactNode, RefAttributes } from 'react'; /** Debe coincidir con la duración en `Drawer.styles.css` (.desktop-drawer-visible) */ export declare const DRAWER_TRANSITION_MS = 300; export interface DrawerHandle { open: (context?: TContext) => void; close: () => void; isOpen: boolean; getContext: () => TContext | null; subscribeOpenChange: (cb: (open: boolean) => void) => () => void; } export interface DrawerProps { children?: React.ReactNode | ((context: TContext | null) => React.ReactNode); direction?: "left" | "right"; modal?: boolean; className?: string; onClose?: (context?: TContext) => void; defaultOpen?: boolean; /** Controlled open state. Changes trigger open/close. Internal closes still work and notify via onClose. */ isOpen?: boolean; attachToParent?: boolean; closeOnOverlayClick?: boolean; /** Close on Escape key. Set false for non-dismissable flows. @default true */ closeOnEscape?: boolean; title?: ReactNode; hideCloseButton?: boolean; unmountChildrenOnClose?: boolean; /** Nombre accesible del diálogo (`role="dialog"`) */ ariaLabel?: string; zIndex?: number; /** @deprecated Usar `zIndex` */ zindex?: number; } export interface DrawerHeaderProps { children?: ReactNode; className?: string; title?: ReactNode; /** Por defecto muestra el botón de cierre del drawer en este slot */ showCloseButton?: boolean; /** `closeOnly`: solo chrome del botón (header implícito en modo legacy) */ variant?: "default" | "closeOnly"; actionsSlot?: ReactNode | (() => ReactNode); /** @internal Render inline en el placeholder (header inyectado), sin portal */ inline?: boolean; } declare const DrawerHeader: import('react').NamedExoticComponent; export interface DrawerHeaderActionsProps { children?: ReactNode; className?: string; } declare const DrawerHeaderActions: import('react').NamedExoticComponent; export interface DrawerContentProps { children?: ReactNode; className?: string; } declare const DrawerContent: import('react').NamedExoticComponent; export interface DrawerFooterProps { children?: ReactNode; className?: string; } declare const DrawerFooter: import('react').NamedExoticComponent; type DrawerComponent = { (props: DrawerProps & RefAttributes>): ReactElement | null; Header: typeof DrawerHeader; Content: typeof DrawerContent; Footer: typeof DrawerFooter; HeaderActions: typeof DrawerHeaderActions; displayName?: string; }; declare const Drawer: DrawerComponent; export default Drawer; /** @deprecated Use `DrawerHandle` */ export type DrawerDesktopHandle = DrawerHandle; /** @deprecated Use `DrawerProps` */ export type DrawerDesktopProps = DrawerProps; /** @deprecated Use `DrawerHeaderProps` */ export type DrawerDesktopHeaderProps = DrawerHeaderProps; /** @deprecated Use `DrawerContentProps` */ export type DrawerDesktopContentProps = DrawerContentProps; /** @deprecated Use `DrawerFooterProps` */ export type DrawerDesktopFooterProps = DrawerFooterProps;