import type { AgenticSiteMapEntry, DiscoveredRoute } from '../types.js'; export interface SiteMapDiscoveryOptions { /** Enable auto-discovery (default: true) */ enabled?: boolean; /** Custom route transform function */ transformRoute?: (route: DiscoveredRoute) => AgenticSiteMapEntry | null; /** Paths to exclude (glob patterns) */ excludePaths?: string[]; /** CSS selectors for DOM fallback */ navSelectors?: string[]; /** Disable DOM fallback (default: false) */ disableDomFallback?: boolean; } export interface SiteMapDiscoveryState { entries: AgenticSiteMapEntry[]; isDiscovering: boolean; error: string | null; framework: string | null; } type Listener = (state: SiteMapDiscoveryState) => void; /** * Framework-agnostic route discovery runner. Subscribe via `subscribe`, * start with `start()`, refresh manually with `refresh()`. Replaces the * previous React-coupled implementation; `useSiteMapDiscovery` (in the * `/react` sub-export) is now a thin wrapper around this class. */ export declare class SiteMapDiscoveryRunner { private options; private state; private listeners; private popStateHandler; private startTimer; constructor(options?: SiteMapDiscoveryOptions); /** Begin discovery on the next tick and listen for navigation events. */ start(): void; /** Stop listening and clear subscribers. */ stop(): void; /** Force an immediate re-discovery. */ refresh(): void; /** Latest known state. */ getState(): SiteMapDiscoveryState; /** Subscribe to state changes. Listener fires immediately with current state. */ subscribe(listener: Listener): () => void; /** Replace runtime options (e.g. when a consumer's config changes). */ updateOptions(options: SiteMapDiscoveryOptions): void; private setState; private detectFramework; private shouldExclude; private pathToName; private defaultTransform; private extractReactRouterRoutes; private discoverFromDOM; private discover; } export {}; //# sourceMappingURL=SiteMapDiscoveryRunner.d.ts.map