import * as React from 'react';

type SheetSide = 'top' | 'right' | 'bottom' | 'left';
declare const sheetOverlayStyles = "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0";
declare const sheetContentVariants: (props?: ({
    side?: "top" | "right" | "bottom" | "left" | undefined;
} & {
    className?: string;
}) | undefined) => string;
interface SheetContextValue {
    open: boolean;
    onOpenChange: (open: boolean) => void;
    modal: boolean;
    side: SheetSide;
    contentId: string;
    titleId: string;
    descriptionId: string;
    triggerRef: React.MutableRefObject<HTMLElement | null>;
}
interface SheetProps {
    open?: boolean;
    defaultOpen?: boolean;
    onOpenChange?: (open: boolean) => void;
    modal?: boolean;
    side?: SheetSide;
    children?: React.ReactNode;
}
declare function Sheet({ open: controlledOpen, defaultOpen, onOpenChange, modal, side, children, }: SheetProps): React.FunctionComponentElement<React.ProviderProps<SheetContextValue | null>>;
declare namespace Sheet {
    var displayName: string;
}
interface SheetTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
}
declare const SheetTrigger: React.ForwardRefExoticComponent<SheetTriggerProps & React.RefAttributes<HTMLButtonElement>>;
interface SheetOverlayProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const SheetOverlay: React.ForwardRefExoticComponent<SheetOverlayProps & React.RefAttributes<HTMLDivElement>>;
interface SheetContentProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Side of the screen the sheet slides in from.
     * Overrides the `side` prop on the parent <Sheet> if provided.
     */
    side?: SheetSide;
    /**
     * If true (default), an overlay is rendered behind the content and
     * clicks outside the content close the sheet.
     */
    withOverlay?: boolean;
}
declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
interface SheetHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const SheetHeader: React.ForwardRefExoticComponent<SheetHeaderProps & React.RefAttributes<HTMLDivElement>>;
interface SheetFooterProps extends React.HTMLAttributes<HTMLDivElement> {
}
declare const SheetFooter: React.ForwardRefExoticComponent<SheetFooterProps & React.RefAttributes<HTMLDivElement>>;
interface SheetTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
}
declare const SheetTitle: React.ForwardRefExoticComponent<SheetTitleProps & React.RefAttributes<HTMLHeadingElement>>;
interface SheetDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
}
declare const SheetDescription: React.ForwardRefExoticComponent<SheetDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
interface SheetCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
}
declare const SheetClose: React.ForwardRefExoticComponent<SheetCloseProps & React.RefAttributes<HTMLButtonElement>>;

export { Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, type SheetDescriptionProps, SheetFooter, type SheetFooterProps, SheetHeader, type SheetHeaderProps, SheetOverlay, type SheetOverlayProps, type SheetProps, type SheetSide, SheetTitle, type SheetTitleProps, SheetTrigger, type SheetTriggerProps, sheetContentVariants, sheetOverlayStyles };
