import { default as React } from 'react'; import { LinkProps } from 'react-router-dom'; type PreloadFn = () => Promise; export type RouteModules = Record Promise>; export interface PreloadLinkProps extends LinkProps { /** Custom preload function (overrides route module lookup) */ preload?: PreloadFn; /** Delay before triggering preload (ms) */ preloadDelay?: number; /** Route modules map for automatic preloading */ routeModules?: RouteModules; /** Language prefixes to strip from path (e.g., ['en', 'es', 'zh']) */ languagePrefixes?: string[]; /** Path segments to normalize (e.g., ['/dashboard/[^/]+', '/dashboard']) */ pathNormalizations?: Array<{ pattern: RegExp; replacement: string; }>; } /** * Clear the preloaded modules cache (useful for testing) */ export declare const clearPreloadCache: () => void; /** * Check if a module has been preloaded */ export declare const isPreloaded: (path: string) => boolean; /** * PreloadLink Component * * A Link component that preloads route modules on hover/focus for faster navigation. * Improves perceived performance by loading the next page before the user clicks. * * @example * ```tsx * // Basic usage with custom preload function * import('./pages/Dashboard')} * > * Dashboard * * ``` * * @example * ```tsx * // With route modules map * const routeModules = { * '/': () => import('./pages/Home'), * '/dashboard': () => import('./pages/Dashboard'), * '/settings': () => import('./pages/Settings'), * }; * * * Dashboard * * ``` * * @example * ```tsx * // With path normalizations for dynamic segments * * Projects * * ``` */ export declare const PreloadLink: React.FC; export default PreloadLink; //# sourceMappingURL=preload-link.d.ts.map