import type * as React from "react";

/**
 * The app navigation rail: 256px, --sidebar surface, 32px menu rows.
 */
export interface SidebarProps extends React.HTMLAttributes<HTMLElement> { children?: React.ReactNode }
export declare function Sidebar(props: SidebarProps): React.ReactElement;
export declare function SidebarHeader(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarContent(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarFooter(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarGroup(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarGroupLabel(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarMenu(props: React.HTMLAttributes<HTMLUListElement>): React.ReactElement;
export declare function SidebarMenuItem(props: React.HTMLAttributes<HTMLLIElement>): React.ReactElement;
export declare function SidebarMenuButton(props: React.ButtonHTMLAttributes<HTMLButtonElement> & { isActive?: boolean; size?: "sm" | "default" | "lg" }): React.ReactElement;
/** Right-aligned tabular count inside a menu row. */
export declare function SidebarMenuBadge(props: React.HTMLAttributes<HTMLDivElement>): React.ReactElement;
export declare function SidebarMenuSub(props: React.HTMLAttributes<HTMLUListElement>): React.ReactElement;
export declare function SidebarMenuSubButton(props: React.AnchorHTMLAttributes<HTMLAnchorElement> & { isActive?: boolean }): React.ReactElement;
export declare function SidebarSeparator(props: { className?: string }): React.ReactElement;
/**
 * The content column beside the Sidebar; sits on --background.
 *
 * This is the shell's scroll container: it scrolls its own content while the
 * Sidebar keeps the full height of the screen, so the account menu in the
 * sidebar footer is always reachable. That requires the shell root around the
 * pair to be viewport-height and not scroll itself
 * (`height: 100dvh; overflow: hidden`) — a shell on `min-height: 100vh` scrolls
 * as a document and takes the sidebar with it.
 *
 * Direct children keep their natural height (`flex-shrink: 0`), so a fixed-height
 * toolbar or sticky header is not squashed once the content below it overflows.
 */
export declare function SidebarInset(props: React.HTMLAttributes<HTMLElement>): React.ReactElement;
