/** * The type vocabulary every `velar/*` table in `modules/` is written in. * * D115 §三, the shape `packages/core/src/interfaces/` and `packages/node/src/modules/` * already have: the primitive `ValueType` singletons, the constructors a Web * export is built with, and the `ModuleInterface` constructor that fills in the * fields a Web module never uses. What one surface alone owns lives in that * surface's file. */ import { type ClassInfo, type EnumInfo, type ModuleInterface, type ValueType } from "@velarscript/compiler"; import type { Expression } from "@velarscript/compiler/extension"; export declare const bytesType: ValueType; export declare const nullType: ValueType; export declare const stringType: ValueType; export declare const numberType: ValueType; export declare const boolType: ValueType; export declare const nodeType: ValueType; export declare const elementType: ValueType; export declare const inputElementType: ValueType; export declare const textAreaElementType: ValueType; export declare const canvasElementType: ValueType; export declare const dialogElementType: ValueType; export declare const blobType: ValueType; export declare const lengthType: ValueType; export declare const percentageType: ValueType; export declare const lengthPercentageType: ValueType; export declare const trackFractionType: ValueType; export declare const colorType: ValueType; export declare const colorInputType: ValueType; export declare const borderType: ValueType; export declare const shadowType: ValueType; export declare const filterType: ValueType; export declare const imageType: ValueType; export declare const trackType: ValueType; export declare const trackListType: ValueType; /** * Native JSX construction preserves the order and count of a collection * projection. Attribute and child holes still have to pass Core's stability * proof; event arrows are inert values here and run only after dispatch. * Components, custom elements, refs, and bindings keep the explicit loop * because their setup can execute user code or write through a binding. */ export declare function webCanonicalCollectionProjection(expression: Expression, pure: (expression: Expression) => boolean): boolean | undefined; export declare const transitionType: ValueType; export declare const keyframesType: ValueType; export declare const animationType: ValueType; export declare const durationType: ValueType; export declare const angleType: ValueType; export declare const spacingType: ValueType; export declare const mountTargetType: ValueType; export declare const lookScalarType: ValueType; export declare const trackInputType: ValueType; export declare const repeatCountType: ValueType; export declare function namedFunction(parameterNames: readonly string[], parameters: readonly ValueType[], result: ValueType, requiredParameters?: number): ValueType; /** * A velar/look builder's published type, with its parameter names and required * count read from LOOK_BUILDER_SIGNATURES rather than repeated here. The static * keyframe lowering places named arguments from that same table, so the two * cannot disagree about what `spread=0px` means. */ export declare function lookBuilder(name: string, parameters: readonly ValueType[], rest?: ValueType): ValueType; export declare const unknownType: ValueType; export declare function functionType(parameters: readonly ValueType[], result: ValueType, requiredParameters?: number): ValueType; export declare function namedIntrinsic(name: string, parameterNames: readonly string[], parameters: readonly ValueType[], result: ValueType, requiredParameters?: number): ValueType; export declare function promise(value: ValueType): ValueType; export declare function object(fields: Readonly>): ValueType; /** A structurally declared standard capability handle; see ValueType.capabilityHandle. */ export declare function capabilityHandle(fields: Readonly>): ValueType; export declare const errorType: ValueType; export declare const cleanupType: ValueType; export declare const arrayString: ValueType; export declare const arrayNumber: ValueType; export declare const mapString: (value: ValueType) => ValueType; export declare const webElementType: ValueType; export declare const fileType: ValueType; export declare const fileArrayType: ValueType; export declare function moduleInterface(exports: ReadonlyMap, classes?: ReadonlyMap, namedTypes?: ReadonlyMap>, namedTypeIdentities?: ReadonlyMap, enums?: ReadonlyMap, namedTypeReadonlyFields?: ReadonlyMap>, genericTypes?: NonNullable): ModuleInterface; //# sourceMappingURL=types.d.ts.map