import { Dialog as SheetPrimitive } from "@base-ui/react/dialog";
import { type VariantProps } from "class-variance-authority";
import { ComponentRef } from "react";
/**
 * Extends {@link https:/cva.style/docs/getting-started/variants VariantProps} of {@link sheetVariants}
 */
export interface SheetContentProps extends VariantProps<typeof sheetVariants> {
    className?: string;
    children?: React.ReactNode;
    ref?: React.Ref<ComponentRef<typeof SheetPrimitive.Popup>>;
}
interface SheetHeaderProps {
    className?: string;
    children?: React.ReactNode;
}
interface SheetOverlayProps {
    className?: string;
    ref?: React.Ref<React.ComponentRef<typeof SheetPrimitive.Backdrop>>;
}
interface SheetFooterProps {
    className?: string;
}
interface SheetTitleProps {
    className?: string;
    children?: React.ReactNode;
    ref?: React.Ref<React.ComponentRef<typeof SheetPrimitive.Description>>;
}
interface SheetDescriptionProps {
    className?: string;
    ref?: React.Ref<React.ComponentRef<typeof SheetPrimitive.Description>>;
}
/**
 * Using {@link https:/cva.style/docs/getting-started/variants class-variance-authority}
 */
export declare const sheetVariants: (props?: {
    side?: "top" | "left" | "right" | "bottom";
} & import("class-variance-authority/types").ClassProp) => string;
/**
 * Root container for creating interactive overlay panels
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet}
 */
declare const Sheet: typeof SheetPrimitive.Root;
/**
 * Trigger element that initiates the opening of an overlay panel
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Trigger}
 */
declare const SheetTrigger: SheetPrimitive.Trigger;
/**
 * Button or element that closes the active overlay panel
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Close}
 */
declare const SheetClose: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogCloseProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
/**
 * Portal component for rendering content outside the current DOM hierarchy
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Portal}
 */
declare const SheetPortal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
/**
 * Overlay component that creates a darkened background behind the active panel.
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Overlay}
 */
declare function SheetOverlay({ className, ref }: SheetOverlayProps): import("react").JSX.Element;
declare namespace SheetOverlay {
    var displayName: string;
}
/**
 * Container for the content of the overlay panel with configurable positioning
 *
 * @param SheetContentProps {@link SheetContentProps}
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Content}
 *
 * @example
 *```tsx
 * <SheetContent side="right">
 *   ...
 * </SheetContent>
 * ```
 */
declare function SheetContent({ side, className, children, ref }: SheetContentProps): import("react").JSX.Element;
declare namespace SheetContent {
    var displayName: string;
}
/**
 * Header for a {@link Sheet}
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet}
 */
declare function SheetHeader({ className, children }: SheetHeaderProps): import("react").JSX.Element;
declare namespace SheetHeader {
    var displayName: string;
}
/**
 * Footer for a {@link Sheet}
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet}
 */
declare function SheetFooter({ className }: SheetFooterProps): import("react").JSX.Element;
declare namespace SheetFooter {
    var displayName: string;
}
/**
 * Title for a {@link Sheet}
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Title}
 */
declare function SheetTitle({ className, children, ref }: SheetTitleProps): import("react").JSX.Element;
declare namespace SheetTitle {
    var displayName: string;
}
/**
 * Description for a {@link Sheet}
 *
 * Based on {@link https:/ui.shadcn.com/docs/components/sheet Sheet.Description}
 */
declare function SheetDescription({ className, ref }: SheetDescriptionProps): import("react").JSX.Element;
declare namespace SheetDescription {
    var displayName: string;
}
export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
