/** * Import Transformer * * Functions for rewriting and transforming import specifiers in MDX compiled code. * Handles project aliases, React paths, JSX transforms, and import map resolution. * * @module build/transforms/mdx/esm-module-loader/import-transformer */ import type { ImportMapConfig } from "../../../modules/import-map/index.js"; import type { DependencyPinningSourceInput } from "../../esm/package-registry.js"; import type { DependencyResolutionObservation } from "../../import-rewriter/dependency-resolution.js"; import type { ESMLoaderContext } from "./types.js"; /** * Rewrite @/ aliased imports to /_vf_modules/ paths. */ export declare function rewriteProjectAliasImports(code: string): Promise; /** * Transform bare React specifiers to local file:// paths for Bun/Node. * This ensures the same React instance as react-dom-server. * For Deno, getLocalReactPaths() returns an empty object, so this is a no-op. */ export declare function transformReactToLocalPaths(code: string): Promise; /** * Transform imports using project import maps. * React is intentionally left as a bare specifier for SSR consistency. */ export declare function transformImports(code: string, importMap: ImportMapConfig): string; export interface MdxRootDependencyRewriteOptions { projectDir: string; projectId: string; reactVersion: string; dependencyPinningCacheKey?: string; dependencyPinningDependencies?: Readonly>; dependencyPinningSource?: DependencyPinningSourceInput; serverExternalPackages?: readonly string[]; onDependencyResolutionObserved?: (observation: DependencyResolutionObservation) => void; } /** * Apply the existing MDX import-map behavior first, then pin remaining bare * dependencies with the parser-backed import rewriter. Flag-off code keeps * its pre-pinning identity and React remains owned by the existing MDX path. */ export declare function rewriteMdxRootDependencyImports(code: string, importMap: ImportMapConfig, options: MdxRootDependencyRewriteOptions): Promise; export declare function pinSameOriginSSRModuleImports(code: string, dependencyPinningCacheKey?: string, moduleServerOrigin?: string): Promise; /** * Transform JSX/TSX imports using esbuild. * Optimized to process all imports in parallel batches for better performance. */ export declare function transformJsxImports(code: string, adapter: ESMLoaderContext["adapter"], esmCacheDir: string): Promise; //# sourceMappingURL=import-transformer.d.ts.map