import type { BindingSourcePlan } from './dist-lib/types/binding/source.js'; export interface SourceBindingProofOptions { sourceRevision: string; files: ReadonlyMap | Readonly>; /** Explicit files the host permits this design operation to change. */ allowedFiles: readonly string[]; /** DTO/schema and other host-owned exclusions take precedence over allowed files. */ excludedSourcePrefixes?: readonly string[]; } export interface SourceBindingProofDiagnostic { severity: 'error'; code: 'binding-source-plan-invalid' | 'binding-source-policy-invalid' | 'binding-source-empty' | 'binding-source-proof-invalid' | 'binding-source-file-excluded' | 'binding-source-file-missing' | 'binding-source-stale' | 'binding-source-overlap' | 'binding-source-anchor-invalid'; message: string; file?: string; } /** Verify evidence without writing source or accepting a literal-prop inspection payload. */ export declare function validateSourceBindingProofs(plan: BindingSourcePlan, options: SourceBindingProofOptions): { valid: boolean; diagnostics: SourceBindingProofDiagnostic[]; }; /** Emits expression replacements only after revision, lexical scope, and complete AST proof validation. */ export declare function compileSourceBindingFilePlan(plan: BindingSourcePlan, options: SourceBindingProofOptions & { proofs: readonly import('./dist-lib/types/workspace/source/contracts.js').WorkspaceSourceFileProof[]; }): import('./dist-lib/types/host/sourceFilePlan.js').SourceFilePlan; export declare function mapCapturedDataTargets(input: { document: import('./dist-lib/types/document/contracts.js').DesignDocument; sourceInputs: Readonly>; sourceRevision: string; repeats?: NonNullable; declarations: readonly { file: string; attribute: string; value: string; expected: string; slotId: string; kind?: 'text' | 'visibility' | 'input-prop'; /** Exact input attribute; event handlers, key/ref, children and spread overrides are excluded. */ prop?: string; attributeKind?: 'literal' | 'expression'; scope?: 'screen' | 'item'; itemProperty?: string; replacement?: import('./dist-lib/types/binding/source.js').BindingSourceExpression; writtenReplacement?: boolean; identifiers: readonly string[]; helpers?: readonly string[]; fields: import('./dist-lib/types/workspace/source/dataSource.js').WorkspaceDataSourceMapping['targets'][number]['fields']; }[]; }): import('./dist-lib/types/workspace/source/dataSource.js').WorkspaceDataSourceMapping['targets']; type RepeatSourceSite = Omit[number], 'templateNodeId'> & { containerSource: string }; export declare function readSourceRepeatSites(input: { sourceInputs: Readonly>; sourceRevision: string; declarations: readonly { file: string; collection: string; identifiers: readonly string[]; helpers?: readonly string[]; itemIdentifier: string; keyExpression: import('./dist-lib/types/binding/source.js').BindingSourceExpression; replacement?: import('./dist-lib/types/binding/source.js').BindingSourceExpression; fields: RepeatSourceSite['fields']; }[]; }): readonly RepeatSourceSite[]; export declare function mapCapturedRepeatTargets(input: { document: import('./dist-lib/types/document/contracts.js').DesignDocument; sites: readonly RepeatSourceSite[]; }): NonNullable; /** Exact validated source edits for compiler composition; offsets address the supplied original files. */ export declare function prepareSourceBindingEdits(plan: BindingSourcePlan, options: SourceBindingProofOptions & { proofs: readonly import('./dist-lib/types/workspace/source/contracts.js').WorkspaceSourceFileProof[]; }): { plan: import('./dist-lib/types/host/sourceFilePlan.js').SourceFilePlan; edits: { file: string; start: number; end: number; content: string }[] };