import React, { ComponentProps } from "react";
import { VariantProps } from "class-variance-authority";
import { type ButtonProps } from "../Button";
import { sheetContentVariants } from "./variants";
type SheetDensity = "relaxed" | "comfortable" | "compact" | "none";
type SheetCloseProps = Omit<ButtonProps, "size">;
declare const SheetClose: React.ForwardRefExoticComponent<SheetCloseProps & React.RefAttributes<HTMLButtonElement>>;
interface SheetProps extends Omit<ComponentProps<"dialog">, "className">, VariantProps<typeof sheetContentVariants> {
    toggleDialog: () => void;
    persist?: boolean;
    closeOnEsc?: boolean;
    padding?: boolean;
    density?: SheetDensity;
    showCloseButton?: boolean;
    containerClassName?: string;
    className?: string;
    overlayClassName?: string;
    closeButtonLabel?: string;
    closeButtonProps?: Omit<ButtonProps, "size">;
    children: React.ReactNode;
}
type SheetSectionProps<T extends HTMLElement> = React.HTMLAttributes<T>;
declare const SheetHeader: React.ForwardRefExoticComponent<SheetSectionProps<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const SheetMain: React.ForwardRefExoticComponent<SheetSectionProps<HTMLElement> & React.RefAttributes<HTMLElement>>;
declare const SheetFooter: React.ForwardRefExoticComponent<SheetSectionProps<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
interface SheetComponent extends React.ForwardRefExoticComponent<SheetProps & React.RefAttributes<HTMLDialogElement>> {
    Header: typeof SheetHeader;
    Main: typeof SheetMain;
    Footer: typeof SheetFooter;
    Close: typeof SheetClose;
}
declare const Sheet: SheetComponent;
export default Sheet;
