import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { CollapsibleContent } from '../ui/collapsible.js';
import 'radix-ui';

type OutlineTreeSurface = "sidebar" | "panel";
type OutlineTreeGuideLayout = "inset" | "chevronRail";
/** Pull row content onto the guide line — matches `SidebarMenuSubButton` horizontal nudge (inset layout only). */
declare const OUTLINE_TREE_SUB_ROW_SHIFT_CLASS = "-translate-x-px rtl:translate-x-px";
/** `CollapsibleContent` row: spacer width = `px-2` (8px) + half of `size-8` chevron (16px) → guide under chevron center. */
declare const OUTLINE_TREE_COLLAPSIBLE_CONTENT_RAIL_CLASS = "flex min-w-0 w-full";
/** Spacer column — keep in sync with folder row `px-2` + `size-8` chevron. */
declare const OUTLINE_TREE_CHEVRON_GUIDE_SPACER_CLASS = "w-6 shrink-0";
/** Wrap `OutlineTreeSub` with `guideLayout="chevronRail"` so the vertical border meets the chevron center. */
declare function OutlineTreeCollapsibleContentRail({ className, children, ...props }: React.ComponentProps<typeof CollapsibleContent>): react_jsx_runtime.JSX.Element;
/** Nested list under a folder — vertical guide + indent. */
declare function OutlineTreeSub({ surface, guideLayout, className, ...props }: React.ComponentProps<"ul"> & {
    surface?: OutlineTreeSurface;
    guideLayout?: OutlineTreeGuideLayout;
}): react_jsx_runtime.JSX.Element;
/** Root or nested branch list — matches `SidebarMenu` spacing. */
declare function OutlineTreeMenu({ className, ...props }: React.ComponentProps<"ul">): react_jsx_runtime.JSX.Element;
/** Expandable folder row wrapper — matches `SidebarMenuItem`. */
declare function OutlineTreeMenuItem({ className, ...props }: React.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
/** Leaf / nested row inside `OutlineTreeSub` — matches `SidebarMenuSubItem`. */
declare function OutlineTreeSubItem({ className, ...props }: React.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
interface OutlineTreeLeafButtonProps extends React.ComponentProps<"button"> {
    surface?: OutlineTreeSurface;
    isActive?: boolean;
    /** Inset `OutlineTreeSub` only — nudge like `SidebarMenuSubButton`. Ignored when parent uses `chevronRail`. */
    subGuideAlign?: boolean;
}
/** Selectable leaf row (file / terminal row) — `SidebarMenuSubButton`–aligned rhythm. */
declare function OutlineTreeLeafButton({ surface, isActive, subGuideAlign, className, ...props }: OutlineTreeLeafButtonProps): react_jsx_runtime.JSX.Element;

export { OUTLINE_TREE_CHEVRON_GUIDE_SPACER_CLASS, OUTLINE_TREE_COLLAPSIBLE_CONTENT_RAIL_CLASS, OUTLINE_TREE_SUB_ROW_SHIFT_CLASS, OutlineTreeCollapsibleContentRail, type OutlineTreeGuideLayout, OutlineTreeLeafButton, type OutlineTreeLeafButtonProps, OutlineTreeMenu, OutlineTreeMenuItem, OutlineTreeSub, OutlineTreeSubItem, type OutlineTreeSurface };
