///
import { NoirCallStack, SourceCodeLocation } from '@aztec/circuit-types';
import { FunctionDebugMetadata, OpcodeLocation } from '@aztec/foundation/abi';
import { ExecutionError, ForeignCallInput, ForeignCallOutput, WasmBlackBoxFunctionSolver } from '@noir-lang/acvm_js';
import { ACVMWitness } from './acvm_types.js';
import { ORACLE_NAMES } from './oracle/index.js';
/**
* The callback interface for the ACIR.
*/
type ACIRCallback = Record ForeignCallOutput | Promise>;
/**
* The result of executing an ACIR.
*/
export interface ACIRExecutionResult {
/**
* The partial witness of the execution.
*/
partialWitness: ACVMWitness;
}
/**
* Extracts the source code locations for an array of opcode locations
* @param opcodeLocations - The opcode locations that caused the error.
* @param debug - The debug metadata of the function.
* @returns The source code locations.
*/
export declare function resolveOpcodeLocations(opcodeLocations: OpcodeLocation[], debug: FunctionDebugMetadata): SourceCodeLocation[];
/**
* The function call that executes an ACIR.
*/
export declare function acvm(solver: WasmBlackBoxFunctionSolver, acir: Buffer, initialWitness: ACVMWitness, callback: ACIRCallback): Promise;
/**
* Extracts the call stack from an thrown by the acvm.
* @param error - The error to extract from.
* @param debug - The debug metadata of the function called.
* @returns The call stack, if available.
*/
export declare function extractCallStack(error: Error | ExecutionError, debug?: FunctionDebugMetadata): NoirCallStack | undefined;
export {};
//# sourceMappingURL=acvm.d.ts.map