import { Answers, CallerFloor, DeclarativeLocator, TemplateFileEntry, TemplateLocator, TemplateSource } from "../../v4"; import * as bundledFloorMod from "../../v4/distribution/bundledFloor"; import * as templatePackageMod from "../../v4/distribution/templatePackage"; import * as templateSourceMod from "../../v4/distribution/templateSource"; import * as templateSourcePortMod from "../../v4/distribution/templateSourcePort"; import { GeneratorContext } from "./generatorAction"; export declare const v4TemplateBridgeDeps: { createTemplateSourcePort: typeof templateSourcePortMod.createTemplateSourcePort; loadBundledFloor: typeof bundledFloorMod.loadBundledFloor; resolveLocalTemplateSource: typeof templateSourceMod.resolveLocalTemplateSource; loadResolvedPackage: typeof templateSourcePortMod.loadResolvedPackage; openTemplatePackage: typeof templatePackageMod.openTemplatePackage; }; export interface ResolvedV4ChannelPackage { source: TemplateSource; bytes: Buffer; } /** * Render the located template's entries onto disk using the v3 * `GeneratorContext` rename/data/filter functions verbatim, so the output is * byte-identical to the legacy `unzip` path. * * `openTemplatePackage` strips the `//` prefix, but the v3 * `filterFn`/`fileNameReplaceFn` expect entry paths still rooted at * `${context.name}/`; the prefix is re-added here before applying them. The * data-replace function receives the basename, matching `unzip`'s * `dataReplaceFn(entry.name, ...)` call. */ export declare function renderTemplateEntries(context: GeneratorContext, entries: TemplateFileEntry[]): Promise; /** * v3 → v4 wiring (one-way; v3 may call into the v4 barrel, v4 knows nothing of * v3). Resolves the scaffold template through the v4 distribution channel, then * renders the located template's entries onto disk via the v3 GeneratorContext. */ export declare function scaffoldFromV4Channel(context: GeneratorContext, locator: TemplateLocator, telemetryProps?: Record, resolvedPackage?: ResolvedV4ChannelPackage): Promise; /** * v3 → v4 wiring for the declarative engine: resolve the template through the * same v4 distribution channel, then run the authored declarative package * (`descriptor` + `pipeline` + `content`) through `scaffold` onto disk, instead * of the v3 render path. The package is located by `{kind, templateId}` and * materialized by the on-disk runtime rooted at `context.destination`. * * `answers` and `callerFloor` are supplied by the caller: the v3 surface maps * its question values into them (v3 → v4 is allowed; v4 derives the rest from * the descriptor). The resolved `source` telemetry is recorded by the shared * resolve step before the package is opened. * * Expected failures (resolution, read, an unmet create-empty contract, an * engine break) surface as thrown `FxError`s, matching `scaffoldFromV4Channel`. */ export declare function scaffoldDeclarativeFromV4Channel(context: GeneratorContext, locator: DeclarativeLocator, answers: Answers, callerFloor: CallerFloor, telemetryProps?: Record, flagReader?: (name: string) => boolean, resolvedPackage?: ResolvedV4ChannelPackage): Promise; //# sourceMappingURL=v4TemplateBridge.d.ts.map