import { type DependencyPinningSourceInput } from "../esm/package-registry.js"; import { type DependencyResolutionObservation } from "./dependency-resolution.js"; type CacheBuster = number | string; export interface SSRImportRewriteTarget { specifier: string; kind: "alias" | "relative"; modulePath: string; rewrittenPath: string; } export declare function stripSSRModuleJsExtensionCompat(path: string): string; export declare function resolveSSRImportTargetModulePathCompat(target: SSRImportRewriteTarget, currentModulePath: string): string; export interface SSRRewriteOptions { /** Project slug for multi-project routing */ projectSlug?: string | null; /** Branch name for branch-aware routing */ branch?: string | null; /** Cache buster token. When omitted, each rewritten target gets a stable token. */ cacheBuster?: CacheBuster; /** Resolve a cache buster token for each rewritten target. */ resolveCacheBuster?: (target: SSRImportRewriteTarget) => CacheBuster | null | undefined | Promise; /** Cross-project reference (e.g., "demo@0.0") for @/ path rewrites */ crossProjectRef?: string; /** React version to use for import rewrites */ reactVersion?: string; /** Bare npm package roots that the server runtime resolves without bundling. */ serverExternalPackages?: readonly string[]; /** Project root directory for dependency pin lookup (used when VERYFRONT_DEPENDENCY_PINNING=1). */ projectDir?: string; /** Project reference used by the best-effort platform range resolver. */ projectId?: string; /** Stable dependency-pinning key paired with the immutable dependency map. */ dependencyPinningCacheKey?: string; /** Immutable dependency map captured with dependencyPinningCacheKey. */ dependencyPinningDependencies?: Readonly>; /** Exact package source namespace used to prove write-back authority. */ dependencyPinningSource?: DependencyPinningSourceInput; /** Collect unresolved dependency observations for cache replay. */ onDependencyResolutionObserved?: (observation: DependencyResolutionObservation) => void; } /** Replay cached SSR observations through the same live resolver as rewriting. */ export declare function replaySSRDependencyResolutionObservations(observations: readonly DependencyResolutionObservation[], options: SSRRewriteOptions): void; export declare function rewriteSSRImportsCompat(code: string, options?: SSRRewriteOptions): string; export declare function rewriteSSRImportsCompatAsync(code: string, options?: SSRRewriteOptions): Promise; export {}; //# sourceMappingURL=ssr-adapter.d.ts.map