import { DrawerPlacement } from "./type.mjs";
import React from "react";
import { Dialog } from "@base-ui/react/dialog";
//#region src/base-ui/Drawer/atoms.d.ts
interface DrawerAnimationActions {
  onExitComplete: () => void;
}
declare const useDrawerOpen: () => boolean | null;
declare const useDrawerActions: () => DrawerAnimationActions | null;
type DrawerRootProps = Dialog.Root.Props & {
  onExitComplete?: () => void;
  zIndex?: number;
};
declare const DrawerRoot: ({ open, onExitComplete, ...rest }: DrawerRootProps) => React.JSX.Element;
type DrawerPortalProps = React.ComponentProps<typeof Dialog.Portal> & {
  container?: HTMLElement | null;
};
declare const DrawerPortal: ({ container, ...rest }: DrawerPortalProps) => React.JSX.Element;
type DrawerBackdropProps = React.ComponentProps<typeof Dialog.Backdrop>;
declare const DrawerBackdrop: ({ className, style, ...rest }: DrawerBackdropProps) => React.JSX.Element;
type DrawerPopupProps = React.ComponentProps<typeof Dialog.Popup> & {
  flush?: boolean;
  height?: number | string;
  motionProps?: Record<string, any>;
  panelClassName?: string;
  panelStyle?: React.CSSProperties;
  placement?: DrawerPlacement;
  popupStyle?: React.CSSProperties;
  pushOffset?: number;
  width?: number | string;
};
declare const DrawerPopup: ({ className, children, placement: placementProp, width: widthProp, height: heightProp, flush, pushOffset, motionProps, panelClassName, panelStyle, popupStyle, ref: forwardedRef, ...rest }: DrawerPopupProps) => React.JSX.Element;
type DrawerHeaderProps = React.HTMLAttributes<HTMLDivElement> & {
  ref?: React.Ref<HTMLDivElement>;
};
declare const DrawerHeader: ({ className, ...rest }: DrawerHeaderProps) => React.JSX.Element;
type DrawerTitleProps = React.ComponentProps<typeof Dialog.Title>;
declare const DrawerTitle: ({ className, ...rest }: DrawerTitleProps) => React.JSX.Element;
type DrawerDescriptionProps = React.ComponentProps<typeof Dialog.Description>;
declare const DrawerDescription: React.FC<DrawerDescriptionProps>;
type DrawerContentProps = React.HTMLAttributes<HTMLDivElement> & {
  ref?: React.Ref<HTMLDivElement>;
};
declare const DrawerContent: ({ className, ...rest }: DrawerContentProps) => React.JSX.Element;
type DrawerFooterProps = React.HTMLAttributes<HTMLDivElement> & {
  ref?: React.Ref<HTMLDivElement>;
};
declare const DrawerFooter: ({ className, ...rest }: DrawerFooterProps) => React.JSX.Element;
type DrawerCloseProps = React.ComponentProps<typeof Dialog.Close>;
declare const DrawerClose: ({ className, children, ...rest }: DrawerCloseProps) => React.JSX.Element;
type DrawerTriggerProps = Omit<React.ComponentPropsWithRef<typeof Dialog.Trigger>, 'children' | 'render'> & {
  children?: React.ReactNode;
  nativeButton?: boolean;
};
declare const DrawerTrigger: ({ children, className, nativeButton, ref: refProp, ...rest }: DrawerTriggerProps) => React.JSX.Element;
//#endregion
export { DrawerBackdrop, DrawerBackdropProps, DrawerClose, DrawerCloseProps, DrawerContent, DrawerContentProps, DrawerDescription, DrawerDescriptionProps, DrawerFooter, DrawerFooterProps, DrawerHeader, DrawerHeaderProps, DrawerPopup, DrawerPopupProps, DrawerPortal, DrawerPortalProps, DrawerRoot, DrawerRootProps, DrawerTitle, DrawerTitleProps, DrawerTrigger, DrawerTriggerProps, useDrawerActions, useDrawerOpen };
//# sourceMappingURL=atoms.d.mts.map