import type { Effect, Expression } from "../ast/nodes.js"; export interface UasfMetadata { name: string; version: string; description: string; author: string; license?: string; tags?: string[]; createdAt?: string; } export interface UasfBinary { wasm: string; wasmSize: number; checksum: string; } export interface UasfParam { name: string; type: string; description?: string; } export interface UasfInterface { entryPoint: string; params: UasfParam[]; returns: { type: string; description?: string; }; effects: Effect[]; } export interface UasfContract { kind: "pre" | "post"; condition?: Expression; semantic?: { assertion: string; target: string; args?: string[]; }; natural?: string; } export interface UasfVerification { verified: boolean; contracts: UasfContract[]; provenBy?: string; } export interface UasfCapabilities { required: string[]; optional: string[]; } export interface UasfPackage { uasf: string; metadata: UasfMetadata; binary: UasfBinary; interface: UasfInterface; verification: UasfVerification; capabilities: UasfCapabilities; } //# sourceMappingURL=uasf.d.ts.map