/// import type { REDOCLY_TEAMS_RBAC } from '../constants'; import type { RbacScopeItems, SeoConfig } from '../../server/config/schema'; import type { MdOptions } from '../../server/plugins/markdown/types'; import type { LayoutVariant } from '@redocly/theme'; export type ResolvedNavLinkItem = { type: 'link'; fsPath?: string; metadata?: Record; link: string; label: string; labelTranslationKey?: string; items?: ResolvedNavItem[]; sidebar?: ResolvedNavItem[]; external?: boolean; target?: '_self' | '_blank'; version?: string; isDefault?: boolean; versionFolderId?: string; httpVerb?: string; separatorLine?: boolean; routeSlug?: string; active?: boolean; icon?: string; srcSet?: string; [REDOCLY_TEAMS_RBAC]?: RbacScopeItems; linkedSidebars?: string[]; }; export type ResolvedNavGroupItem = { type: 'group'; fsPath?: string; metadata?: Record; link?: string; label?: string; labelTranslationKey?: string; items?: ResolvedNavItem[]; sidebar?: ResolvedNavItem[]; external?: boolean; target?: '_self' | '_blank'; expanded?: string; selectFirstItemOnExpand?: boolean; version?: string; isDefault?: boolean; versionFolderId?: string; menuStyle?: MenuStyle; separatorLine?: boolean; routeSlug?: string; active?: boolean; icon?: string; srcSet?: string; [REDOCLY_TEAMS_RBAC]?: RbacScopeItems; linkedSidebars?: string[]; }; export type ResolvedNavItem = ResolvedNavLinkItem | ResolvedNavGroupItem | { type: 'separator'; fsPath?: never; metadata?: Record; label?: string; labelTranslationKey?: string; routeSlug?: never; version?: string; isDefault?: boolean; versionFolderId?: string; separatorLine?: boolean; linePosition?: 'top' | 'bottom'; link?: undefined; items?: ResolvedNavItem[]; sidebar?: ResolvedNavItem[]; linkedSidebars?: string[]; icon?: string; srcSet?: string; [REDOCLY_TEAMS_RBAC]?: RbacScopeItems; } | { type: 'error'; fsPath?: never; version?: string; isDefault?: boolean; versionFolderId?: string; metadata?: Record; routeSlug?: never; label: string; link?: undefined; items?: ResolvedNavItem[]; sidebar?: ResolvedNavItem[]; linkedSidebars?: string[]; [REDOCLY_TEAMS_RBAC]?: RbacScopeItems; }; export type ResolvedNavItemWithLink = (ResolvedNavLinkItem | ResolvedNavGroupItem) & { link: string; }; export type ResolvedSidebar = { relatedNavbarItem?: Breadcrumb; items: ResolvedNavItem[]; }; export interface PageProps { metadata?: Record; seo?: SeoConfig; frontmatter?: PageProps & { theme?: any; }; disableAutoScroll?: boolean; lastModified?: string | null; [k: string]: unknown; dynamicMarkdocComponents?: string[]; markdown?: MdOptions; openapiOptions?: OpenAPIOptions; definitionId?: string; variables?: { rbac?: { teams: string[]; }; }; } export interface PageStaticData { props?: PageProps; [k: string]: unknown; } export type UserData = { isAuthenticated: boolean; name: string; picture: string; logoutDisabled?: boolean; }; export interface PageData { templateId: string; redirectTo?: string; sharedDataIds: Record; props: PageProps; versions?: Version[]; userData: UserData; } export interface CachedPageData extends PageData { Template: React.ComponentType>; } export interface ResolvedPageData extends CachedPageData { sharedData: Record; } export declare enum MenuStyle { Drilldown = "drilldown" } export type NavItem = { page?: string; directory?: string; group?: string; groupTranslationKey?: string; label?: string; labelTranslationKey?: string; href?: never; items?: NavItem[]; separator?: string; separatorTranslationKey?: string; separatorLine?: boolean; linePosition?: 'top' | 'bottom'; version?: string; menuStyle?: MenuStyle; external?: boolean; target?: '_self' | '_blank'; expanded?: boolean | 'always'; selectFirstItemOnExpand?: boolean; flatten?: boolean; icon?: string | { srcSet: string; }; rbac?: RbacScopeItems; linkedSidebars?: string[]; $ref?: string; disconnect?: boolean; }; export interface LogoConfig { image?: string; altText?: string; link?: string; favicon?: string; } export type Version = { version: string; label: string; link: string; default: boolean; active: boolean; folderId: string; [REDOCLY_TEAMS_RBAC]?: RbacScopeItems; }; export type VersionConfigItem = { version: string; name?: string; }; export type VersionsConfigType = { versions: VersionConfigItem[]; default?: string; }; export type VersionedFolderConfig = { versionedFiles: Map>; defaultVersion?: string; versions: VersionConfigItem[]; hasVersionsConfig?: boolean; }; export type NavGroup = ResolvedNavItem[] | undefined | string | boolean | number; export type NavGroupRecord = Record; export type ResolvedConfigLinks = NavGroup | NavGroupRecord; export type RawNavConfigItem = NavItem | NavItem[] | string | undefined | boolean | number; export type RawNavConfig = RawNavConfigItem | Record; export type OpenAPIOptions = { showRightPanelToggle?: boolean; layout?: LayoutVariant; collapsedSidebar?: boolean; }; export type Breadcrumb = { label: string; link?: string; }; //# sourceMappingURL=nav.d.ts.map