import type { ScaffoldTemplateVariables } from './scaffold.js'; interface AttributeDescription { lines: string[]; } interface EmittedAttributeDefinition { description?: AttributeDescription; name: string; optional: boolean; typeExpression: string; } /** * Builds the generated attributes and validation type source for a basic block scaffold. * * @param variables Resolved scaffold template variables used to name emitted types. * @param attributes Emitted built-in attribute definitions that drive the interface members. * @returns TypeScript source for the basic block attribute and validation types. */ export declare function buildBasicTypesSource(variables: ScaffoldTemplateVariables, attributes: readonly EmittedAttributeDefinition[]): string; /** * Builds the generated attributes, context, and validation type source for an interactivity scaffold. * * @param variables Resolved scaffold template variables used to name emitted types. * @param attributes Emitted built-in attribute definitions that drive the interface members. * @returns TypeScript source for the interactivity block attribute, context, and validation types. */ export declare function buildInteractivityTypesSource(variables: ScaffoldTemplateVariables, attributes: readonly EmittedAttributeDefinition[]): string; /** * Builds the generated attributes, context, state, client, and validation type source for a persistence scaffold. * * @param variables Resolved scaffold template variables used to name emitted types. * @param attributes Emitted built-in attribute definitions that drive the interface members. * @returns TypeScript source for the persistence block runtime types. */ export declare function buildPersistenceTypesSource(variables: ScaffoldTemplateVariables, attributes: readonly EmittedAttributeDefinition[]): string; /** * Builds the generated attributes and optional persistence runtime type source for a compound parent scaffold. * * @param variables Resolved scaffold template variables used to name emitted types. * @param attributes Emitted built-in attribute definitions that drive the interface members. * @returns TypeScript source for the compound parent runtime types. */ export declare function buildCompoundTypesSource(variables: ScaffoldTemplateVariables, attributes: readonly EmittedAttributeDefinition[]): string; /** * Builds the generated attributes and validation type source for a compound child scaffold. * * @param variables Resolved scaffold template variables used to name emitted types. * @param attributes Emitted built-in attribute definitions that drive the interface members. * @returns TypeScript source for the compound child attribute and validation types. */ export declare function buildCompoundChildTypesSource(variables: ScaffoldTemplateVariables, attributes: readonly EmittedAttributeDefinition[]): string; export {};