import { type GestureResponderEvent } from "react-native"; import { type Density } from "./sidebar.styles.js"; import { type SidebarSkin, type SidebarItem, type SidebarSection } from "./sidebar.shared.js"; /** One normalized nav group as computed by createSidebar: the section, its accordion/React key, * and its rows already carrying their flat index (so selection reports the same index the rail * would). */ export interface SidebarDrillGroup { section: SidebarSection; key: string; rows: { item: SidebarItem; index: number; }[]; } export interface SidebarDrillDownProps { groups: SidebarDrillGroup[]; activeIndex: number; activeSectionKey: string | null; density: Density; /** Whether the hosting Drawer is open — drives the reset/pre-drill on each open. */ open: boolean; onSelect: (item: SidebarItem, index: number, event: GestureResponderEvent) => void; /** Close the hosting Drawer (after a leaf selection or a root-level back). */ onRequestClose: () => void; /** Extra bottom padding so the last rows clear persistent chrome painting over the drawer * (e.g. a native bottom tab bar on Android). */ contentInsetBottom?: number; /** Fill the panel (a full-height left/right drawer) vs shrink within it (a content-sized * top/bottom sheet). */ fill?: boolean; } /** Build the drill-down body from a Sidebar skin (mirrors createSidebar's skin closure). */ export declare function createSidebarDrillDown(skin: SidebarSkin): ({ groups, activeIndex, activeSectionKey, density, open, onSelect, onRequestClose, contentInsetBottom, fill }: SidebarDrillDownProps) => import("react").JSX.Element; //# sourceMappingURL=sidebar.drilldown.d.ts.map