import { AudioSettings, CompilerTarget, GlobalDefinitions, CompilationSettings, VariableNamesIndex } from '../compile/types'; import { Code, AstFunc } from '../ast/types'; import { Engine } from '../run/types'; interface TestParameters { bitDepth: AudioSettings['bitDepth']; target: CompilerTarget; } type Module = object; export declare const TEST_PARAMETERS: Array; export declare const round: (v: number, decimals?: number) => number; interface CreateTestModuleApplyBindings { assemblyscript: (buffer: ArrayBuffer) => Promise; javascript: (code: Code) => Promise; } /** Helper function to create a `Module` for running tests. */ export declare const createTestModule: (target: CompilerTarget, bitDepth: AudioSettings['bitDepth'], code: Code, applyBindings: CreateTestModuleApplyBindings) => Promise; export declare const createTestEngine: (target: CompilerTarget, bitDepth: AudioSettings['bitDepth'], code: Code, dependencies?: Array) => Promise>; export declare const runTestSuite: (tests: { description: string; testFunction: ({ target, globals, }: { target: CompilerTarget; globals: VariableNamesIndex['globals']; }) => AstFunc; }[], dependencies?: Array, partialSettings?: Partial) => void; export {};