import type { ManifestDocument } from '../migration/migration-types.js'; import type { ScaffoldTemplateVariables } from './scaffold.js'; import type { BuiltInTemplateId } from './template-registry.js'; export interface BuiltInBlockArtifact { blockJsonDocument: Record; manifestDocument: ManifestDocument; relativeDir: string; typesSource: string; } /** * Builds a starter manifest document for a generated compound child block. * * @param childTypeName TypeScript source type name for the child manifest. * @param childTitle Default title used by the child block. * @param bodyPlaceholder Optional placeholder used for the child body field. * @returns Starter manifest metadata for the compound child block. */ export declare function buildCompoundChildStarterManifestDocument(childTypeName: string, childTitle: string, bodyPlaceholder?: string): ManifestDocument; /** * Generates typed structural artifacts for a built-in block scaffold. * * @param options.templateId Built-in template family to emit. * @param options.variables Resolved scaffold template variables. * @returns Structural artifacts for the built-in block, including compound * parent and child outputs when applicable. */ export declare function buildBuiltInBlockArtifacts({ templateId, variables }: { templateId: BuiltInTemplateId; variables: ScaffoldTemplateVariables; }): BuiltInBlockArtifact[]; /** * Serializes a generated `block.json` document using scaffold formatting. * * @param document Structured `block.json` document. * @returns Pretty-printed JSON using tab indentation. */ export declare function stringifyBuiltInBlockJsonDocument(document: Record): string;