import { DashboardSidebarConfig, DashboardSidebarItemConfig } from './types.js'; export type DashboardSidebarPermissionMap = Record; export declare function normalizeDashboardSidebarAdminPermissions(permissions: string[] | undefined): string[]; export declare function serializeDashboardSidebarPermissions(permissions: string[]): string; export declare function canRenderDashboardSidebarItem(item: Pick, permissionMap: DashboardSidebarPermissionMap): boolean; export declare function resolveVisibleDashboardSidebarConfig(config: DashboardSidebarConfig, permissionMap: DashboardSidebarPermissionMap): { nestedGroups: Record; rootItems: DashboardSidebarItemConfig[]; routePins: import('./types.js').DashboardSidebarRoutePin[]; account: import('./types.js').DashboardSidebarAccountConfig; activeItemVariant: import('./tokens.js').DashboardSidebarActiveItemVariant; animationDurationMs: number; autoOpenPinnedRoutes: boolean; avatarSize: import('./tokens.js').DashboardSidebarSize; badgeVariant: import('./tokens.js').DashboardSidebarBadgeVariant; footerBadge?: string; iconSize: import('./tokens.js').DashboardSidebarSize; itemSize: import('./tokens.js').DashboardSidebarSize; itemVariant: import('./tokens.js').DashboardSidebarItemVariant; logoIcon: import('./types.js').DashboardSidebarNavigationIconKey; nestedBackButtonAlign: "center" | "start"; organizationLabel: string; radius: import('./tokens.js').DashboardSidebarRadius; showBadges: boolean; showExternalLinks: boolean; showNestedArrows: boolean; showNestedGroupHeader: boolean; surfaceVariant: import('./tokens.js').DashboardSidebarSurfaceVariant; title: string; widthClassName: string; }; /** * Filters sidebar rows by Athena admin permissions when available. * Pure apps can call `resolveVisibleDashboardSidebarConfig` with a static map. */ export declare function useVisibleDashboardSidebarConfig(config: DashboardSidebarConfig): { permissionMap: DashboardSidebarPermissionMap; permissionQuery: import('../../../lib/query/tanstack.js').AthenaQueryResult; visibleConfig: { nestedGroups: Record; rootItems: DashboardSidebarItemConfig[]; routePins: import('./types.js').DashboardSidebarRoutePin[]; account: import('./types.js').DashboardSidebarAccountConfig; activeItemVariant: import('./tokens.js').DashboardSidebarActiveItemVariant; animationDurationMs: number; autoOpenPinnedRoutes: boolean; avatarSize: import('./tokens.js').DashboardSidebarSize; badgeVariant: import('./tokens.js').DashboardSidebarBadgeVariant; footerBadge?: string; iconSize: import('./tokens.js').DashboardSidebarSize; itemSize: import('./tokens.js').DashboardSidebarSize; itemVariant: import('./tokens.js').DashboardSidebarItemVariant; logoIcon: import('./types.js').DashboardSidebarNavigationIconKey; nestedBackButtonAlign: "center" | "start"; organizationLabel: string; radius: import('./tokens.js').DashboardSidebarRadius; showBadges: boolean; showExternalLinks: boolean; showNestedArrows: boolean; showNestedGroupHeader: boolean; surfaceVariant: import('./tokens.js').DashboardSidebarSurfaceVariant; title: string; widthClassName: string; }; };