import type { StudioAdminRouteId, StudioAdminRoutePath, StudioAdminStaticRoutePath, StudioPanelId } from './index'; export interface StudioAdminRouteDefinition { readonly id: StudioAdminRouteId; readonly path: StudioAdminStaticRoutePath | '/ankh/screens/:screenId' | '/ankh/modules/:moduleId' | '/ankh/theme/components/:recipeName' | '/ankh/theme/patterns/:recipeName' | '/ankh/bindings/:nodeId' | '/ankh/properties/:nodeId'; readonly label: string; readonly icon: string; readonly order: number; readonly parentId?: StudioAdminRouteId; readonly description?: string; readonly contextual?: boolean; readonly showInNavigation?: boolean; } export interface StudioAdminRouteRenderState { routeAdminId: StudioAdminRouteId | null; resolvedAdminRouteId: StudioAdminRouteId; routeAdminPath: StudioAdminRoutePath | null; screenId: string | null; moduleId: string | null; bindingsNodeId: string | null; propertiesNodeId: string | null; shouldRenderAppContent: boolean; shouldRenderAdminShell: boolean; } export interface StudioAdminRouteAvailabilityContext { readonly selectedNodeId: string | null; readonly screenId?: string | null; readonly moduleId?: string | null; } export declare const STUDIO_ADMIN_ROUTE_REGISTRY: readonly StudioAdminRouteDefinition[]; export declare function getStudioAdminRouteDefinition(routeId: StudioAdminRouteId): StudioAdminRouteDefinition; export declare function resolveStudioAdminRouteId(pathname: string): StudioAdminRouteId | null; export declare function resolveStudioAdminRoutePath(pathname: string): StudioAdminRoutePath | null; export declare function resolveStudioBindingsNodeId(pathname: string): string | null; export declare function resolveStudioScreenId(pathname: string): string | null; export declare function createStudioScreenRoutePath(screenId: string): `/ankh/screens/${string}`; export declare function resolveStudioModuleId(pathname: string): string | null; export declare function createStudioModuleRoutePath(moduleId: string): `/ankh/modules/${string}`; export declare function resolveStudioThemeRecipeName(pathname: string): string | null; export declare function createStudioThemeRecipeRoutePath(kind: 'component' | 'pattern', recipeName: string): `/ankh/theme/components/${string}` | `/ankh/theme/patterns/${string}`; export declare function createStudioBindingsRoutePath(nodeId: string): `/ankh/bindings/${string}`; export declare function resolveStudioPropertiesNodeId(pathname: string): string | null; export declare function createStudioPropertiesRoutePath(nodeId: string): `/ankh/properties/${string}`; export declare function createStudioAdminRoutePath(args: { routeId: StudioAdminRouteId; selectedNodeId?: string | null; screenId?: string | null; moduleId?: string | null; themeRecipeName?: string | null; }): StudioAdminRoutePath | null; export declare function isStudioAdminRouteAvailable(routeId: StudioAdminRouteId, context: StudioAdminRouteAvailabilityContext): boolean; export declare function resolveStudioAdminActiveRouteId(pathname: string): StudioAdminRouteId; export declare function isStudioAdminRouteActive(args: { currentRouteId: StudioAdminRouteId; candidateRouteId: StudioAdminRouteId; }): boolean; export declare function createStudioAdminRouteRenderState(args: { pathname: string; activeAdminRouteId: StudioAdminRouteId; }): StudioAdminRouteRenderState; export declare function openStudioAdminRoute(args: { next: StudioAdminRouteId; selectedNodeId?: string | null; screenId?: string | null; moduleId?: string | null; themeRecipeName?: string | null; setActivePanelId: (panelId: StudioPanelId | null) => void; pushRoute: (routePath: StudioAdminRoutePath) => void; }): boolean; export declare function isStudioAdminPath(pathname: string): boolean; export declare function resolveStudioNavigableLocation(pathname: string): string; export declare function resolveStudioLastNonAdminLocation(args: { readonly pathname: string; readonly navigableLocation?: string; }): string | null; //# sourceMappingURL=studioAdminRouteModel.d.ts.map