import { type InterpolationMode } from "../vite/interpolation-plugin.js"; export interface TransformProjectOptions { root: string; appDir: string; islandsDir?: string; /** * Absolute path to the transformed tree root. The tree mirrors the project * layout relative to the common ancestor of `appDir`/`islandsDir`, so * relative imports between app and islands keep resolving. Relative imports * that escape that ancestor are compensated for the added directory depth. */ outDir: string; /** * How the legacy interpolation transform is handled (default: "auto"). * With a Nix.js core that supports partial attribute interpolation natively * the transform is not applied; use "legacy" for migrations against older * cores and "off" to never transform. */ interpolation?: InterpolationMode; } /** * Absolute path of the transformed app directory inside the mirror tree, * matching where `transformProjectFiles` copies the app files. */ export declare function transformedAppDir(root: string, appDir: string, islandsDir: string | undefined, outDir: string): string; export declare function transformProjectFiles(options: TransformProjectOptions): Promise;