import type { AgenticSiteMapEntry, EnhancedSiteMapEntry, MultiSourceSiteMapConfig } from '../types.js'; /** * Multi-source sitemap discovery and management * * Combines routes from three sources: * 1. Static props (explicit configuration) * 2. Framework auto-discovery (React Router, Vue Router, etc.) * 3. Backend API (tenant-specific sitemaps) * * Zero-config mode: When agentic is enabled but no siteMapConfig provided, * automatically discovers routes using smart defaults. */ export declare class SiteMapDiscovery { private config; private apiUrl; private apiKey; private staticEntries; private discoveredEntries; private backendEntries; private backendCache; private isInitialized; private initPromise; private detectedFramework; private popstateHandler; constructor(config: MultiSourceSiteMapConfig, apiUrl: string, apiKey: string); /** * Initialize all sitemap sources * Call this during widget initialization or first query based on loadStrategy */ initialize(): Promise; private performInitialization; /** * Wait for DOM to be ready before scanning */ private waitForDOMReady; /** * Set up popstate listener to re-discover on SPA navigation */ private setupPopstateListener; /** * Refresh discovery in background without blocking */ private refreshInBackground; /** * Get localStorage cache key for current origin */ private getCacheKey; /** * Load discovered entries from localStorage cache */ private loadFromLocalStorage; /** * Save discovered entries to localStorage cache */ private saveToLocalStorage; /** * Clear localStorage cache */ clearCache(): void; /** * Dispose of resources (event listeners, etc.) */ dispose(): void; /** * Get detected framework name */ getDetectedFramework(): string; /** * Get merged sitemap entries with deduplication */ getMergedEntries(): EnhancedSiteMapEntry[]; /** * Convert to legacy AgenticSiteMapEntry format for classifier compatibility */ getLegacyEntries(): AgenticSiteMapEntry[]; private discoverFromFramework; /** * Detect JavaScript framework from global objects */ private detectFramework; /** * Discover routes from React Router */ private discoverReactRouter; /** * Extract routes recursively from React Router config */ private extractRoutesFromConfig; /** * Discover routes from Vue Router */ private discoverVueRouter; /** * Discover routes from Next.js */ private discoverNextRoutes; /** * Discover routes from Angular Router */ private discoverAngularRoutes; /** * Discover routes by scanning DOM navigation elements * Uses smart defaults when no selectors provided */ private discoverFromDOM; private fetchFromBackend; /** * Transform backend response to enhanced entries */ private transformBackendResponse; /** * Merge entries from all sources with deduplication */ private mergeEntries; private enhanceEntries; private enhanceEntry; /** * Default transformation from DiscoveredRoute to AgenticSiteMapEntry */ private defaultRouteTransform; /** * Normalize path by combining parent and child paths */ private normalizePath; /** * Convert path to human-readable name */ private pathToName; /** * Check if route should be excluded based on glob patterns */ private shouldExcludeRoute; /** * Force refresh from all sources */ refresh(): Promise; /** * Check if initialized */ isReady(): boolean; /** * Get current entry counts by source */ getStats(): { static: number; discovered: number; backend: number; merged: number; }; } //# sourceMappingURL=SiteMapDiscovery.d.ts.map