import type { BuiltManifest } from "./manifest-builder.mjs"; import { type MetadataEntry } from "./definitions/component.mjs"; declare const manifestBuilds: unique symbol; type DeferredBuild = { readonly index: number; readonly entry: MetadataEntry; }; /** Compose new definitions; legacy ManifestBuilder remains an independent authoring flow. */ export type ManifestInput = object; export interface DefineManifestOptions { components: readonly ManifestInput[]; } export interface ManifestDefinition extends BuiltManifest { components: Array & { type: string; }>; readonly [manifestBuilds]?: readonly DeferredBuild[]; } /** Run the build hooks supplied by component implementations, preserving the metadata JSON contract. */ export declare function compileManifest(definition: Readonly, bundle: (entrypoint: URL) => Promise): Promise>; /** Collect references, then compile batches. Component-specific behavior lives in definitions/. */ export declare function defineManifest(options: DefineManifestOptions): Readonly; export {}; //# sourceMappingURL=composition.d.mts.map