///
import { FunctionL2Logs, Note } from '@aztec/circuit-types';
import { PrivateCallStackItem, PublicCallRequest, ReadRequestMembershipWitness } from '@aztec/circuits.js';
import { DecodedReturn } from '@aztec/foundation/abi';
import { Fr } from '@aztec/foundation/fields';
import { ACVMField } from '../acvm/index.js';
/**
* The contents of a new note.
*/
export interface NoteAndSlot {
/** The note. */
note: Note;
/** The storage slot of the note. */
storageSlot: Fr;
}
/**
* The result of executing a private function.
*/
export interface ExecutionResult {
/** The ACIR bytecode. */
acir: Buffer;
/** The verification key. */
vk: Buffer;
/** The partial witness. */
partialWitness: Map;
/** The call stack item. */
callStackItem: PrivateCallStackItem;
/** The partially filled-in read request membership witnesses for commitments being read. */
readRequestPartialWitnesses: ReadRequestMembershipWitness[];
/** The notes created in the executed function. */
newNotes: NoteAndSlot[];
/** The decoded return values of the executed function. */
returnValues: DecodedReturn;
/** The nested executions. */
nestedExecutions: this[];
/** Enqueued public function execution requests to be picked up by the sequencer. */
enqueuedPublicFunctionCalls: PublicCallRequest[];
/**
* Encrypted logs emitted during execution of this function call.
* Note: These are preimages to `encryptedLogsHash`.
*/
encryptedLogs: FunctionL2Logs;
/**
* Unencrypted logs emitted during execution of this function call.
* Note: These are preimages to `unencryptedLogsHash`.
*/
unencryptedLogs: FunctionL2Logs;
}
/**
* Collect all encrypted logs across all nested executions.
* @param execResult - The topmost execution result.
* @returns All encrypted logs.
*/
export declare function collectEncryptedLogs(execResult: ExecutionResult): FunctionL2Logs[];
/**
* Collect all unencrypted logs across all nested executions.
* @param execResult - The topmost execution result.
* @returns All unencrypted logs.
*/
export declare function collectUnencryptedLogs(execResult: ExecutionResult): FunctionL2Logs[];
/**
* Collect all enqueued public function calls across all nested executions.
* @param execResult - The topmost execution result.
* @returns All enqueued public function calls.
*/
export declare function collectEnqueuedPublicFunctionCalls(execResult: ExecutionResult): PublicCallRequest[];
//# sourceMappingURL=execution_result.d.ts.map