import type { PanelNavGroup, PanelNavItem } from './panel-nav-types'; import { NAV_STYLE_HINT_ATTR, clearNavStyleHint, readNavStyleAttr, resolveNavChromeStyle, setNavStyleHint, shouldResyncNavChromeStyle } from '../../shell/nav-chrome'; export type { NavChromeStyle } from '../../shell/nav-chrome'; export { NAV_STYLE_HINT_ATTR, readNavStyleAttr, setNavStyleHint, clearNavStyleHint, resolveNavChromeStyle as resolvePanelNavStyle, shouldResyncNavChromeStyle as shouldResyncPanelNavStyle, }; /** Whether `path` matches `href` at a segment boundary (exact or child path). */ export declare function hrefMatchesPath(path: string, href: string): boolean; /** Derive the active nav item id from a URL using longest segment-boundary prefix match. */ export declare function deriveActiveIdFromUrl(path: string, items: PanelNavItem[]): string; /** Total nav item count across all groups. */ export declare function countPanelNavItems(groups: PanelNavGroup[]): number; /** Resolve a user toggle without mutating the persisted desktop preference while breakpoint-locked. */ export declare function resolvePanelNavToggle(collapsed: boolean, viewportNarrow: boolean): boolean | null; export interface PanelNavTransitionStyle { transitionProperty: string; transitionDuration: string; transitionDelay: string; } /** * Maximum computed time for PanelNav's width transition. CSS repeats shorter * duration/delay lists to match the property list, so mirror that behavior. */ export declare function panelNavWidthTransitionMs(style: PanelNavTransitionStyle): number; /** Parse `groups` from either a JSON attribute string or a JS property array. */ export declare function parsePanelNavGroups(groups: string | unknown): PanelNavGroup[]; /** Resolve whether VT is disabled from prop and/or host attribute. */ export declare function resolvePanelNavDisableVt(prop: boolean, attr: string | null): boolean; /** True when host `groups` has items but internal parsed state is still empty. */ export declare function shouldResyncPanelNavGroups(parsedGroups: PanelNavGroup[], groups: string | unknown): boolean; //# sourceMappingURL=panel-nav-utils.d.ts.map