export declare const FRAMEWORK_INTERNAL_ROUTE_PREFIX = "/_agent-native"; export declare const FRAMEWORK_ROUTE_PREFIX_ENV = "AGENT_NATIVE_CONFIG_RUNTIME_FRAMEWORK_ROUTE_PREFIX"; /** * Top-level namespaces the server answers before the app's router, besides * the framework prefix. No React Router route renders under them, so the * browser loads them as documents and must never ask them for `.data`. */ export declare const SERVER_ROUTE_PREFIXES: readonly ["/api", "/mcp", "/.well-known", "/assets"]; /** * Namespaces the framework already routes on, or that apps own by convention. * A public prefix that shadows one of these would make the request boundary * ambiguous: `/api/actions/...` could be an app route or a framework route. */ export declare const RESERVED_FRAMEWORK_ROUTE_PREFIXES: readonly ["/api", "/mcp", "/.well-known", "/assets", "/sign-in", "/login", "/signup"]; export declare class FrameworkRoutePrefixError extends Error { constructor(message: string); } export declare function normalizeFrameworkRoutePrefix(value: unknown, source?: string): string; export declare function matchesPathPrefix(pathname: string, prefix: string): boolean; export declare function stripPathPrefix(pathname: string, prefix: string): string | null; export interface FrameworkRoutePrefixOptions { publicPrefix: string; basePath?: string; } export declare function toInternalFrameworkPath(pathname: string, { publicPrefix, basePath }: FrameworkRoutePrefixOptions): string | null; export declare function isInternalFrameworkPathLeak(pathname: string, { publicPrefix, basePath }: FrameworkRoutePrefixOptions): boolean; export declare function toPublicFrameworkPath(path: string, { publicPrefix, basePath }: FrameworkRoutePrefixOptions): string;