import 'vue-router' interface ImportMetaEnv { readonly VITE_API_URL: string readonly VITE_APP_NAME: string readonly VITE_PORTAL_URL: string // RFC-WS-7 §3.3 — empty DSN = SDK no-op. Production gets the crewli-app // DSN from 1Password vault. readonly VITE_SENTRY_DSN_FRONTEND?: string // RFC-WS-7 §3.4 — `crewli-app@`, injected at build-time by // deploy.sh. Optional during local dev. readonly VITE_SENTRY_RELEASE?: string } interface ImportMeta { readonly env: ImportMetaEnv } declare module 'vue-router' { interface RouteMeta { action?: string subject?: string layoutWrapperClasses?: string navActiveLink?: RouteLocationRaw layout?: 'blank' | 'default' | 'OrganizerLayout' | 'PortalLayout' | 'PublicLayout' unauthenticatedOnly?: boolean public?: boolean // WS-3 PR-B1 — added for the consolidated SPA. PR-B2 evolves these. requiresAuth?: boolean context?: 'organizer' | 'portal' requiresToken?: boolean navMode?: 'event' | 'platform' navTitle?: string } }