import { Drawer as DrawerPrimitive } from '@base-ui/react/drawer';
import * as React from 'react';
export type DrawerSide = 'top' | 'right' | 'bottom' | 'left';
export declare const useDrawerSide: () => DrawerSide;
export type DrawerProps<Payload = unknown> = Omit<DrawerPrimitive.Root.Props<Payload>, 'swipeDirection'> & {
    /** Edge the drawer is anchored to. Defaults to `bottom`. */
    side?: DrawerSide;
};
declare function Drawer<Payload = unknown>({ side, children, ...props }: DrawerProps<Payload>): import("react/jsx-runtime").JSX.Element;
declare namespace Drawer {
    var displayName: string;
}
type DrawerTriggerProps<Payload = unknown> = DrawerPrimitive.Trigger.Props<Payload> & {
    asChild?: boolean;
};
declare function DrawerTrigger<Payload = unknown>({ asChild, children, ...props }: DrawerTriggerProps<Payload>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerTrigger {
    var displayName: string;
}
type DrawerCloseProps = DrawerPrimitive.Close.Props & {
    asChild?: boolean;
};
declare const DrawerClose: React.ForwardRefExoticComponent<Omit<DrawerCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
declare const DrawerPortal: DrawerPrimitive.Portal;
declare const DrawerProvider: typeof DrawerPrimitive.Provider;
declare const DrawerIndent: React.ForwardRefExoticComponent<Omit<import('@base-ui/react').DrawerIndentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DrawerIndentBackground: React.ForwardRefExoticComponent<Omit<import('@base-ui/react').DrawerIndentBackgroundProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DrawerSwipeArea: React.ForwardRefExoticComponent<Omit<import('@base-ui/react').DrawerSwipeAreaProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const createDrawerHandle: typeof DrawerPrimitive.createHandle;
declare const DrawerInteractive: React.ForwardRefExoticComponent<Omit<import('@base-ui/react').DrawerContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
type DrawerBackdropProps = Omit<DrawerPrimitive.Backdrop.Props, 'className'> & {
    className?: string;
};
declare const DrawerBackdrop: React.ForwardRefExoticComponent<Omit<DrawerBackdropProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
type DrawerViewportProps = Omit<DrawerPrimitive.Viewport.Props, 'className'> & {
    className?: string;
};
declare const DrawerViewport: React.ForwardRefExoticComponent<Omit<DrawerViewportProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
type DrawerPopupProps = Omit<DrawerPrimitive.Popup.Props, 'className'> & {
    className?: string;
};
declare const DrawerPopup: React.ForwardRefExoticComponent<Omit<DrawerPopupProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
type DrawerContentProps = Omit<DrawerPrimitive.Popup.Props, 'className' | 'children'> & {
    className?: string;
    children?: React.ReactNode;
};
declare const DrawerContent: React.ForwardRefExoticComponent<Omit<DrawerContentProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const DrawerHeader: {
    ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
declare const DrawerFooter: {
    ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
declare const DrawerBody: {
    ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
type DrawerTitleProps = Omit<DrawerPrimitive.Title.Props, 'className'> & {
    className?: string;
};
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<DrawerTitleProps, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
type DrawerDescriptionProps = Omit<DrawerPrimitive.Description.Props, 'className'> & {
    className?: string;
};
declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<DrawerDescriptionProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
export { Drawer, DrawerTrigger, DrawerClose, DrawerPortal, DrawerBackdrop, DrawerViewport, DrawerPopup, DrawerContent, DrawerHeader, DrawerFooter, DrawerBody, DrawerTitle, DrawerDescription, DrawerProvider, DrawerIndent, DrawerIndentBackground, DrawerSwipeArea, DrawerInteractive, createDrawerHandle, };
export type { DrawerTriggerProps, DrawerCloseProps, DrawerBackdropProps, DrawerViewportProps, DrawerPopupProps, DrawerContentProps, DrawerTitleProps, DrawerDescriptionProps, };
