import { type BetterPortalThemeConfig, type HtmlRenderable, type PluginManifest } from "@betterportal/framework"; import { type BetterPortalShellChrome } from "@betterportal/theme-runtime"; export interface Bootstrap1RouteLink { id: string; kind?: "page" | "api"; title: string; viewTitle?: string; href: string; requestUrl?: string; /** Service endpoint base, including its deployment path prefix. */ serviceBaseUrl?: string; serviceId: string; active: boolean; error?: string; serviceStatus?: "show" | "hide"; authStatus?: "auto" | "show" | "hide-unauthenticated" | "hide-unauthorized" | "show-unauthenticated"; } export declare function isUserFacingRoute(route: Pick): boolean; export interface Bootstrap1ShellContext { title: string; brandName: string; logoUrl?: string; faviconUrl?: string; themeMode: "light" | "dark"; themeConfig: BetterPortalThemeConfig; assetBaseUrl: string; assetVersion?: string; bodyHtml: HtmlRenderable; aiManifestUrl?: string; automationCatalogUrl?: string; managementDiscoveryUrl?: string; sessionId?: string; } export interface Bootstrap1HostPageContext { auth?: import("@betterportal/framework").ThemeAuthContext; title: string; brandName: string; logoUrl?: string; faviconUrl?: string; themeMode: "light" | "dark"; themeConfig: BetterPortalThemeConfig; assetBaseUrl: string; assetVersion?: string; currentPath: string; initialRouteUrl?: string; initialServiceId?: string; initialRouteError?: string; initialRouteStatus?: number; routeLinks: Bootstrap1RouteLink[]; serviceOrigins?: Record; navItems?: Bootstrap1NavItem[]; loginUrl?: string; authServiceId?: string; shellServiceId?: string; tenantId?: string; appId?: string; logoutUrl?: string; chrome?: BetterPortalShellChrome; aiManifestUrl?: string; automationCatalogUrl?: string; managementDiscoveryUrl?: string; sessionId?: string; } export declare const Bootstrap1Manifest: PluginManifest; export interface Bootstrap1NavLeaf { kind: "route"; route: Bootstrap1RouteLink; breadcrumb: string; label?: string; } export interface Bootstrap1NavGroup { kind: "group"; id: string; title: string; items: Bootstrap1NavItem[]; active: boolean; defaultExpanded?: boolean; } export type Bootstrap1NavItem = Bootstrap1NavLeaf | Bootstrap1NavGroup | { kind: "external"; title: string; href: string; }; export declare function renderNavItems(navItems: Bootstrap1NavItem[], dismissMobileMenu?: boolean): HtmlRenderable; export declare function shellStyles(mode: "light" | "dark", themeConfig: BetterPortalThemeConfig): import("jsx-htmx").RawText; export declare function renderThemeStyles(themeConfig: BetterPortalThemeConfig): HtmlRenderable; export declare function renderBrand(brandName: string, logoUrl?: string, id?: string, themeConfig?: BetterPortalThemeConfig): HtmlRenderable; export declare function renderBootstrap1Shell(context: Bootstrap1ShellContext): string; export declare function renderBootstrap1HostPage(context: Bootstrap1HostPageContext): string; //# sourceMappingURL=index.d.ts.map