/** * The contracts a component declares and the ones it inherits: whether a prop's * type carries a readonly view, whether a `exposes` Handle is a concrete record, * how a component type read out of an annotation is normalized, and the one * `host` element a multi-root render has to mark. * * D115 P4 R3c. `normalizeComponentContracts` takes no host at all: it is a * structural rewrite of a type, and it runs from the `resolveAnnotation` seam, * which the base analyzer may reach before the host object exists. */ import { type Span } from "@velarscript/compiler"; import { type ValueType } from "@velarscript/compiler/extension"; import { type WebComponentDeclaration as ComponentDeclaration, type WebJsxElementExpression as JSXElementExpression } from "../../ast.ts"; import { type ComponentAnalysisHost } from "./host.ts"; export declare function containsReadonlyView(host: ComponentAnalysisHost, type: ValueType): boolean; export declare function validateComponentHandleType(host: ComponentAnalysisHost, type: ValueType, sourceSpan: Span): void; export declare function normalizeComponentContracts(type: ValueType): ValueType; export declare function validateComponentHost(host: ComponentAnalysisHost, render: JSXElementExpression, component: ComponentDeclaration): void; //# sourceMappingURL=contracts.d.ts.map