import { Program } from "../src/runtime/dsl2"; import * as Runtime from "../src/runtime/runtime"; import * as test from "tape"; export type EAVTuple = [Runtime.RawValue, Runtime.RawValue, Runtime.RawValue]; export type EAVRCTuple = [Runtime.RawValue, Runtime.RawValue, Runtime.RawValue, number, number]; export type TestChange = EAVTuple | EAVRCTuple; export declare function pprint(obj: any): string; export declare class EntityId { id: Runtime.ID; constructor(id: Runtime.ID); toString(): string; } export declare function o_o(val: Runtime.ID): EntityId | Runtime.RawValue | undefined; export declare function createChanges(transaction: number, eavns: TestChange[]): Runtime.Change[]; export declare function verify(assert: test.Test, program: Program, input: any[], output: any[], transaction?: number): void; export declare function time(start?: any): number | number[] | string; export declare function createInputs(inputString: string): EAVRCTuple[][]; export declare function createVerifier Program; }>(programs: T): (assert: test.Test, progName: (keyof T), inputString: string, expecteds: EAVRCTuple[][]) => Program;