/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import { ClientIvcProof, Gas, PrivateKernelTailCircuitPublicInputs } from '@aztec/circuits.js';
import { type FieldsOf } from '@aztec/foundation/types';
import { z } from 'zod';
import { type PrivateKernelProverProfileResult } from '../interfaces/private_kernel_prover.js';
import { ContractClassTxL2Logs, UnencryptedTxL2Logs } from '../logs/tx_l2_logs.js';
import { PrivateExecutionResult } from '../private_execution_result.js';
import { type GasUsed } from './gas_used.js';
import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
import { Tx } from './tx.js';
export declare class PrivateSimulationResult {
    privateExecutionResult: PrivateExecutionResult;
    publicInputs: PrivateKernelTailCircuitPublicInputs;
    constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs);
    getPrivateReturnValues(): NestedProcessReturnValues;
    toSimulatedTx(): Tx;
}
export declare class TxSimulationResult extends PrivateSimulationResult {
    publicOutput?: PublicSimulationOutput | undefined;
    profileResult?: {
        gateCounts: {
            circuitName: string;
            gateCount: number;
        }[];
    } | undefined;
    constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined, profileResult?: {
        gateCounts: {
            circuitName: string;
            gateCount: number;
        }[];
    } | undefined);
    get gasUsed(): GasUsed;
    static get schema(): z.ZodEffects<z.ZodObject<{
        privateExecutionResult: import("@aztec/foundation/schemas").ZodFor<PrivateExecutionResult>;
        publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
        publicOutput: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            revertReason: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                originalMessage: z.ZodString;
                functionErrorStack: z.ZodArray<z.ZodObject<{
                    contractAddress: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
                    contractName: z.ZodOptional<z.ZodString>;
                    functionSelector: z.ZodType<import("@aztec/circuits.js").FunctionSelector, any, string>;
                    functionName: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    contractAddress: import("@aztec/circuits.js").AztecAddress;
                    functionSelector: import("@aztec/circuits.js").FunctionSelector;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }, {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }>, "many">;
                noirErrorStack: z.ZodOptional<z.ZodType<import("../simulation_error.js").NoirCallStack, z.ZodTypeDef, import("../simulation_error.js").NoirCallStack>>;
                revertData: z.ZodArray<z.ZodType<import("@aztec/circuits.js").Fr, any, string>, "many">;
            }, "strip", z.ZodTypeAny, {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: import("@aztec/circuits.js").AztecAddress;
                    functionSelector: import("@aztec/circuits.js").FunctionSelector;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: import("@aztec/circuits.js").Fr[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            }, {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            }>, import("../simulation_error.js").SimulationError, {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            }>>;
            constants: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                historicalHeader: z.ZodEffects<z.ZodObject<{
                    lastArchive: z.ZodEffects<z.ZodObject<{
                        root: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                    }, "strip", z.ZodTypeAny, {
                        root: import("@aztec/circuits.js").Fr;
                        nextAvailableLeafIndex: number;
                    }, {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    }>, import("@aztec/circuits.js").AppendOnlyTreeSnapshot, {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    }>;
                    contentCommitment: z.ZodEffects<z.ZodObject<{
                        numTxs: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        txsEffectsHash: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
                            type: z.ZodLiteral<"Buffer">;
                            data: z.ZodArray<z.ZodNumber, "many">;
                        }, "strip", z.ZodTypeAny, {
                            type: "Buffer";
                            data: number[];
                        }, {
                            type: "Buffer";
                            data: number[];
                        }>, Buffer, {
                            type: "Buffer";
                            data: number[];
                        }>]>;
                        inHash: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
                            type: z.ZodLiteral<"Buffer">;
                            data: z.ZodArray<z.ZodNumber, "many">;
                        }, "strip", z.ZodTypeAny, {
                            type: "Buffer";
                            data: number[];
                        }, {
                            type: "Buffer";
                            data: number[];
                        }>, Buffer, {
                            type: "Buffer";
                            data: number[];
                        }>]>;
                        outHash: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
                            type: z.ZodLiteral<"Buffer">;
                            data: z.ZodArray<z.ZodNumber, "many">;
                        }, "strip", z.ZodTypeAny, {
                            type: "Buffer";
                            data: number[];
                        }, {
                            type: "Buffer";
                            data: number[];
                        }>, Buffer, {
                            type: "Buffer";
                            data: number[];
                        }>]>;
                    }, "strip", z.ZodTypeAny, {
                        numTxs: import("@aztec/circuits.js").Fr;
                        txsEffectsHash: Buffer;
                        inHash: Buffer;
                        outHash: Buffer;
                    }, {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    }>, import("@aztec/circuits.js").ContentCommitment, {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    }>;
                    state: z.ZodEffects<z.ZodObject<{
                        l1ToL2MessageTree: z.ZodEffects<z.ZodObject<{
                            root: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                            nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                        }, "strip", z.ZodTypeAny, {
                            root: import("@aztec/circuits.js").Fr;
                            nextAvailableLeafIndex: number;
                        }, {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        }>, import("@aztec/circuits.js").AppendOnlyTreeSnapshot, {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        }>;
                        partial: z.ZodEffects<z.ZodObject<{
                            noteHashTree: z.ZodEffects<z.ZodObject<{
                                root: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                                nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                            }, "strip", z.ZodTypeAny, {
                                root: import("@aztec/circuits.js").Fr;
                                nextAvailableLeafIndex: number;
                            }, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>, import("@aztec/circuits.js").AppendOnlyTreeSnapshot, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>;
                            nullifierTree: z.ZodEffects<z.ZodObject<{
                                root: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                                nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                            }, "strip", z.ZodTypeAny, {
                                root: import("@aztec/circuits.js").Fr;
                                nextAvailableLeafIndex: number;
                            }, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>, import("@aztec/circuits.js").AppendOnlyTreeSnapshot, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>;
                            publicDataTree: z.ZodEffects<z.ZodObject<{
                                root: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                                nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                            }, "strip", z.ZodTypeAny, {
                                root: import("@aztec/circuits.js").Fr;
                                nextAvailableLeafIndex: number;
                            }, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>, import("@aztec/circuits.js").AppendOnlyTreeSnapshot, {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            noteHashTree: import("@aztec/circuits.js").AppendOnlyTreeSnapshot;
                            nullifierTree: import("@aztec/circuits.js").AppendOnlyTreeSnapshot;
                            publicDataTree: import("@aztec/circuits.js").AppendOnlyTreeSnapshot;
                        }, {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        }>, import("@aztec/circuits.js").PartialStateReference, {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        l1ToL2MessageTree: import("@aztec/circuits.js").AppendOnlyTreeSnapshot;
                        partial: import("@aztec/circuits.js").PartialStateReference;
                    }, {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    }>, import("@aztec/circuits.js").StateReference, {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    }>;
                    globalVariables: z.ZodEffects<z.ZodObject<{
                        chainId: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        version: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        blockNumber: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        slotNumber: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        timestamp: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        coinbase: z.ZodType<import("@aztec/circuits.js").EthAddress, any, string>;
                        feeRecipient: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
                        gasFees: z.ZodEffects<z.ZodObject<{
                            feePerDaGas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                            feePerL2Gas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        }, "strip", z.ZodTypeAny, {
                            feePerDaGas: import("@aztec/circuits.js").Fr;
                            feePerL2Gas: import("@aztec/circuits.js").Fr;
                        }, {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        }>, import("@aztec/circuits.js").GasFees, {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        version: import("@aztec/circuits.js").Fr;
                        chainId: import("@aztec/circuits.js").Fr;
                        blockNumber: import("@aztec/circuits.js").Fr;
                        slotNumber: import("@aztec/circuits.js").Fr;
                        timestamp: import("@aztec/circuits.js").Fr;
                        coinbase: import("@aztec/circuits.js").EthAddress;
                        feeRecipient: import("@aztec/circuits.js").AztecAddress;
                        gasFees: import("@aztec/circuits.js").GasFees;
                    }, {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    }>, import("@aztec/circuits.js").GlobalVariables, {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    }>;
                    totalFees: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    totalManaUsed: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                }, "strip", z.ZodTypeAny, {
                    lastArchive: import("@aztec/circuits.js").AppendOnlyTreeSnapshot;
                    contentCommitment: import("@aztec/circuits.js").ContentCommitment;
                    state: import("@aztec/circuits.js").StateReference;
                    globalVariables: import("@aztec/circuits.js").GlobalVariables;
                    totalFees: import("@aztec/circuits.js").Fr;
                    totalManaUsed: import("@aztec/circuits.js").Fr;
                }, {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                }>, import("@aztec/circuits.js").BlockHeader, {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                }>;
                txContext: z.ZodEffects<z.ZodObject<{
                    chainId: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    version: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    gasSettings: z.ZodEffects<z.ZodObject<{
                        gasLimits: z.ZodEffects<z.ZodObject<{
                            daGas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                            l2Gas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                        }, "strip", z.ZodTypeAny, {
                            daGas: number;
                            l2Gas: number;
                        }, {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        }>, Gas, {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        }>;
                        teardownGasLimits: z.ZodEffects<z.ZodObject<{
                            daGas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                            l2Gas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                        }, "strip", z.ZodTypeAny, {
                            daGas: number;
                            l2Gas: number;
                        }, {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        }>, Gas, {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        }>;
                        maxFeesPerGas: z.ZodEffects<z.ZodObject<{
                            feePerDaGas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                            feePerL2Gas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        }, "strip", z.ZodTypeAny, {
                            feePerDaGas: import("@aztec/circuits.js").Fr;
                            feePerL2Gas: import("@aztec/circuits.js").Fr;
                        }, {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        }>, import("@aztec/circuits.js").GasFees, {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        gasLimits: Gas;
                        teardownGasLimits: Gas;
                        maxFeesPerGas: import("@aztec/circuits.js").GasFees;
                    }, {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    }>, import("@aztec/circuits.js").GasSettings, {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    }>;
                }, "strip", z.ZodTypeAny, {
                    version: import("@aztec/circuits.js").Fr;
                    chainId: import("@aztec/circuits.js").Fr;
                    gasSettings: import("@aztec/circuits.js").GasSettings;
                }, {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                }>, import("@aztec/circuits.js").TxContext, {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                }>;
                vkTreeRoot: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                protocolContractTreeRoot: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                globalVariables: z.ZodEffects<z.ZodObject<{
                    chainId: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    version: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    blockNumber: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    slotNumber: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    timestamp: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    coinbase: z.ZodType<import("@aztec/circuits.js").EthAddress, any, string>;
                    feeRecipient: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
                    gasFees: z.ZodEffects<z.ZodObject<{
                        feePerDaGas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                        feePerL2Gas: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    }, "strip", z.ZodTypeAny, {
                        feePerDaGas: import("@aztec/circuits.js").Fr;
                        feePerL2Gas: import("@aztec/circuits.js").Fr;
                    }, {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    }>, import("@aztec/circuits.js").GasFees, {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    version: import("@aztec/circuits.js").Fr;
                    chainId: import("@aztec/circuits.js").Fr;
                    blockNumber: import("@aztec/circuits.js").Fr;
                    slotNumber: import("@aztec/circuits.js").Fr;
                    timestamp: import("@aztec/circuits.js").Fr;
                    coinbase: import("@aztec/circuits.js").EthAddress;
                    feeRecipient: import("@aztec/circuits.js").AztecAddress;
                    gasFees: import("@aztec/circuits.js").GasFees;
                }, {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                }>, import("@aztec/circuits.js").GlobalVariables, {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                }>;
            }, "strip", z.ZodTypeAny, {
                globalVariables: import("@aztec/circuits.js").GlobalVariables;
                historicalHeader: import("@aztec/circuits.js").BlockHeader;
                txContext: import("@aztec/circuits.js").TxContext;
                vkTreeRoot: import("@aztec/circuits.js").Fr;
                protocolContractTreeRoot: import("@aztec/circuits.js").Fr;
            }, {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            }>, import("@aztec/circuits.js").CombinedConstantData, {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            }>, z.ZodType<never, any, string>]>;
            txEffect: z.ZodEffects<z.ZodObject<{
                revertCode: z.ZodEffects<z.ZodNativeEnum<typeof import("@aztec/circuits.js").RevertCodeEnum>, import("@aztec/circuits.js").RevertCode, import("@aztec/circuits.js").RevertCodeEnum>;
                transactionFee: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                noteHashes: z.ZodArray<z.ZodType<import("@aztec/circuits.js").Fr, any, string>, "many">;
                nullifiers: z.ZodArray<z.ZodType<import("@aztec/circuits.js").Fr, any, string>, "many">;
                l2ToL1Msgs: z.ZodArray<z.ZodType<import("@aztec/circuits.js").Fr, any, string>, "many">;
                publicDataWrites: z.ZodArray<z.ZodEffects<z.ZodObject<{
                    leafSlot: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                    value: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                }, "strip", z.ZodTypeAny, {
                    value: import("@aztec/circuits.js").Fr;
                    leafSlot: import("@aztec/circuits.js").Fr;
                }, {
                    value: string;
                    leafSlot: string;
                }>, import("@aztec/circuits.js").PublicDataWrite, {
                    value: string;
                    leafSlot: string;
                }>, "many">;
                privateLogs: z.ZodArray<z.ZodEffects<z.ZodObject<{
                    fields: z.ZodArray<z.ZodType<import("@aztec/circuits.js").Fr, any, string>, "many">;
                }, "strip", z.ZodTypeAny, {
                    fields: import("@aztec/circuits.js").Fr[];
                }, {
                    fields: string[];
                }>, import("@aztec/circuits.js").PrivateLog, {
                    fields: string[];
                }>, "many">;
                unencryptedLogsLength: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                contractClassLogsLength: z.ZodType<import("@aztec/circuits.js").Fr, any, string>;
                unencryptedLogs: z.ZodEffects<z.ZodObject<{
                    functionLogs: z.ZodArray<z.ZodEffects<z.ZodObject<{
                        logs: z.ZodArray<z.ZodEffects<z.ZodObject<{
                            contractAddress: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
                            data: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
                                type: z.ZodLiteral<"Buffer">;
                                data: z.ZodArray<z.ZodNumber, "many">;
                            }, "strip", z.ZodTypeAny, {
                                type: "Buffer";
                                data: number[];
                            }, {
                                type: "Buffer";
                                data: number[];
                            }>, Buffer, {
                                type: "Buffer";
                                data: number[];
                            }>]>;
                        }, "strip", z.ZodTypeAny, {
                            contractAddress: import("@aztec/circuits.js").AztecAddress;
                            data: Buffer;
                        }, {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }>, import("../index.js").UnencryptedL2Log, {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }>, "many">;
                    }, "strip", z.ZodTypeAny, {
                        logs: import("../index.js").UnencryptedL2Log[];
                    }, {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }>, import("../index.js").UnencryptedFunctionL2Logs, {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }>, "many">;
                }, "strip", z.ZodTypeAny, {
                    functionLogs: import("../index.js").UnencryptedFunctionL2Logs[];
                }, {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                }>, UnencryptedTxL2Logs, {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                }>;
                contractClassLogs: z.ZodEffects<z.ZodObject<{
                    functionLogs: z.ZodArray<z.ZodEffects<z.ZodObject<{
                        logs: z.ZodArray<z.ZodEffects<z.ZodObject<{
                            contractAddress: z.ZodType<import("@aztec/circuits.js").AztecAddress, any, string>;
                            data: z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Buffer, string>, z.ZodEffects<z.ZodObject<{
                                type: z.ZodLiteral<"Buffer">;
                                data: z.ZodArray<z.ZodNumber, "many">;
                            }, "strip", z.ZodTypeAny, {
                                type: "Buffer";
                                data: number[];
                            }, {
                                type: "Buffer";
                                data: number[];
                            }>, Buffer, {
                                type: "Buffer";
                                data: number[];
                            }>]>;
                        }, "strip", z.ZodTypeAny, {
                            contractAddress: import("@aztec/circuits.js").AztecAddress;
                            data: Buffer;
                        }, {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }>, import("../index.js").UnencryptedL2Log, {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }>, "many">;
                    }, "strip", z.ZodTypeAny, {
                        logs: import("../index.js").UnencryptedL2Log[];
                    }, {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }>, import("../index.js").UnencryptedFunctionL2Logs, {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }>, "many">;
                }, "strip", z.ZodTypeAny, {
                    functionLogs: import("../index.js").UnencryptedFunctionL2Logs[];
                }, {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                }>, ContractClassTxL2Logs, {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                }>;
            }, "strip", z.ZodTypeAny, {
                l2ToL1Msgs: import("@aztec/circuits.js").Fr[];
                revertCode: import("@aztec/circuits.js").RevertCode;
                transactionFee: import("@aztec/circuits.js").Fr;
                noteHashes: import("@aztec/circuits.js").Fr[];
                nullifiers: import("@aztec/circuits.js").Fr[];
                publicDataWrites: import("@aztec/circuits.js").PublicDataWrite[];
                privateLogs: import("@aztec/circuits.js").PrivateLog[];
                unencryptedLogsLength: import("@aztec/circuits.js").Fr;
                contractClassLogsLength: import("@aztec/circuits.js").Fr;
                unencryptedLogs: UnencryptedTxL2Logs;
                contractClassLogs: ContractClassTxL2Logs;
            }, {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            }>, import("../tx_effect.js").TxEffect, {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            }>;
            publicReturnValues: z.ZodArray<import("@aztec/foundation/schemas").ZodFor<NestedProcessReturnValues>, "many">;
            gasUsed: z.ZodObject<{
                totalGas: z.ZodEffects<z.ZodObject<{
                    daGas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                    l2Gas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    daGas: number;
                    l2Gas: number;
                }, {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                }>, Gas, {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                }>;
                teardownGas: z.ZodEffects<z.ZodObject<{
                    daGas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                    l2Gas: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    daGas: number;
                    l2Gas: number;
                }, {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                }>, Gas, {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                }>;
            }, "strip", z.ZodTypeAny, {
                totalGas: Gas;
                teardownGas: Gas;
            }, {
                totalGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
                teardownGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
            }>;
        }, "strip", z.ZodTypeAny, {
            constants: import("@aztec/circuits.js").CombinedConstantData;
            txEffect: import("../tx_effect.js").TxEffect;
            publicReturnValues: NestedProcessReturnValues[];
            gasUsed: {
                totalGas: Gas;
                teardownGas: Gas;
            };
            revertReason?: import("../simulation_error.js").SimulationError | undefined;
        }, {
            constants: string | {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            };
            txEffect: {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            };
            publicReturnValues: any[];
            gasUsed: {
                totalGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
                teardownGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
            };
            revertReason?: {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            } | undefined;
        }>, PublicSimulationOutput, {
            constants: string | {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            };
            txEffect: {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            };
            publicReturnValues: any[];
            gasUsed: {
                totalGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
                teardownGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
            };
            revertReason?: {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            } | undefined;
        }>>;
        profileResult: z.ZodOptional<z.ZodObject<{
            gateCounts: z.ZodArray<z.ZodObject<{
                circuitName: z.ZodString;
                gateCount: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                circuitName: string;
                gateCount: number;
            }, {
                circuitName: string;
                gateCount: number;
            }>, "many">;
        }, "strip", z.ZodTypeAny, {
            gateCounts: {
                circuitName: string;
                gateCount: number;
            }[];
        }, {
            gateCounts: {
                circuitName: string;
                gateCount: number;
            }[];
        }>>;
    }, "strip", z.ZodTypeAny, {
        publicInputs: PrivateKernelTailCircuitPublicInputs;
        privateExecutionResult: PrivateExecutionResult;
        publicOutput?: PublicSimulationOutput | undefined;
        profileResult?: {
            gateCounts: {
                circuitName: string;
                gateCount: number;
            }[];
        } | undefined;
    }, {
        publicInputs: string;
        privateExecutionResult?: any;
        publicOutput?: {
            constants: string | {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            };
            txEffect: {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            };
            publicReturnValues: any[];
            gasUsed: {
                totalGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
                teardownGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
            };
            revertReason?: {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            } | undefined;
        } | undefined;
        profileResult?: {
            gateCounts: {
                circuitName: string;
                gateCount: number;
            }[];
        } | undefined;
    }>, TxSimulationResult, {
        publicInputs: string;
        privateExecutionResult?: any;
        publicOutput?: {
            constants: string | {
                globalVariables: {
                    version: string;
                    chainId: string;
                    blockNumber: string;
                    slotNumber: string;
                    timestamp: string;
                    coinbase: string;
                    feeRecipient: string;
                    gasFees: {
                        feePerDaGas: string;
                        feePerL2Gas: string;
                    };
                };
                historicalHeader: {
                    lastArchive: {
                        root: string;
                        nextAvailableLeafIndex: string | number | bigint;
                    };
                    contentCommitment: {
                        numTxs: string;
                        txsEffectsHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        inHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                        outHash: string | {
                            type: "Buffer";
                            data: number[];
                        };
                    };
                    state: {
                        l1ToL2MessageTree: {
                            root: string;
                            nextAvailableLeafIndex: string | number | bigint;
                        };
                        partial: {
                            noteHashTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            nullifierTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                            publicDataTree: {
                                root: string;
                                nextAvailableLeafIndex: string | number | bigint;
                            };
                        };
                    };
                    globalVariables: {
                        version: string;
                        chainId: string;
                        blockNumber: string;
                        slotNumber: string;
                        timestamp: string;
                        coinbase: string;
                        feeRecipient: string;
                        gasFees: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                    totalFees: string;
                    totalManaUsed: string;
                };
                txContext: {
                    version: string;
                    chainId: string;
                    gasSettings: {
                        gasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        teardownGasLimits: {
                            daGas: string | number | bigint;
                            l2Gas: string | number | bigint;
                        };
                        maxFeesPerGas: {
                            feePerDaGas: string;
                            feePerL2Gas: string;
                        };
                    };
                };
                vkTreeRoot: string;
                protocolContractTreeRoot: string;
            };
            txEffect: {
                l2ToL1Msgs: string[];
                revertCode: import("@aztec/circuits.js").RevertCodeEnum;
                transactionFee: string;
                noteHashes: string[];
                nullifiers: string[];
                publicDataWrites: {
                    value: string;
                    leafSlot: string;
                }[];
                privateLogs: {
                    fields: string[];
                }[];
                unencryptedLogsLength: string;
                contractClassLogsLength: string;
                unencryptedLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
                contractClassLogs: {
                    functionLogs: {
                        logs: {
                            contractAddress: string;
                            data: string | {
                                type: "Buffer";
                                data: number[];
                            };
                        }[];
                    }[];
                };
            };
            publicReturnValues: any[];
            gasUsed: {
                totalGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
                teardownGas: {
                    daGas: string | number | bigint;
                    l2Gas: string | number | bigint;
                };
            };
            revertReason?: {
                originalMessage: string;
                functionErrorStack: {
                    contractAddress: string;
                    functionSelector: string;
                    contractName?: string | undefined;
                    functionName?: string | undefined;
                }[];
                revertData: string[];
                noirErrorStack?: import("../simulation_error.js").NoirCallStack | undefined;
            } | undefined;
        } | undefined;
        profileResult?: {
            gateCounts: {
                circuitName: string;
                gateCount: number;
            }[];
        } | undefined;
    }>;
    static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>): TxSimulationResult;
    getPublicReturnValues(): NestedProcessReturnValues[];
    static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput, profileResult?: PrivateKernelProverProfileResult): TxSimulationResult;
    static random(): TxSimulationResult;
}
export declare class TxProvingResult {
    privateExecutionResult: PrivateExecutionResult;
    publicInputs: PrivateKernelTailCircuitPublicInputs;
    clientIvcProof: ClientIvcProof;
    constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, clientIvcProof: ClientIvcProof);
    toTx(): Tx;
    static get schema(): z.ZodEffects<z.ZodObject<{
        privateExecutionResult: import("@aztec/foundation/schemas").ZodFor<PrivateExecutionResult>;
        publicInputs: z.ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
        clientIvcProof: z.ZodType<ClientIvcProof, any, string>;
    }, "strip", z.ZodTypeAny, {
        publicInputs: PrivateKernelTailCircuitPublicInputs;
        clientIvcProof: ClientIvcProof;
        privateExecutionResult: PrivateExecutionResult;
    }, {
        publicInputs: string;
        clientIvcProof: string;
        privateExecutionResult?: any;
    }>, TxProvingResult, {
        publicInputs: string;
        clientIvcProof: string;
        privateExecutionResult?: any;
    }>;
    static from(fields: FieldsOf<TxProvingResult>): TxProvingResult;
    static random(): TxProvingResult;
}
/**
 * Recursively accummulate the return values of a call result and its nested executions,
 * so they can be retrieved in order.
 * @param executionResult
 * @returns
 */
export declare function accumulatePrivateReturnValues(executionResult: PrivateExecutionResult): NestedProcessReturnValues;
//# sourceMappingURL=simulated_tx.d.ts.map