import { AztecAddress, type AztecAddressLike, type ContractArtifact, ContractBase, ContractFunctionInteraction, type ContractMethod, type ContractStorageLayout, DeployMethod, type EthAddressLike, type FieldLike, PublicKeys, type Wallet, type WrappedFieldLike } from '@aztec/aztec.js';
export declare const AvmTestContractArtifact: ContractArtifact;
/**
 * Type-safe interface for contract AvmTest;
 */
export declare class AvmTestContract extends ContractBase {
    private constructor();
    /**
     * Creates a contract instance.
     * @param address - The deployed contract's address.
     * @param wallet - The wallet to use when interacting with the contract.
     * @returns A promise that resolves to a new Contract instance.
     */
    static at(address: AztecAddress, wallet: Wallet): Promise<AvmTestContract>;
    /**
     * Creates a tx to deploy a new instance of this contract.
     */
    static deploy(wallet: Wallet): DeployMethod<AvmTestContract>;
    /**
     * Creates a tx to deploy a new instance of this contract using the specified public keys hash to derive the address.
     */
    static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet): DeployMethod<AvmTestContract>;
    /**
     * Creates a tx to deploy a new instance of this contract using the specified constructor method.
     */
    static deployWithOpts<M extends keyof AvmTestContract['methods']>(opts: {
        publicKeys?: PublicKeys;
        method?: M;
        wallet: Wallet;
    }, ...args: Parameters<AvmTestContract['methods'][M]>): DeployMethod<AvmTestContract>;
    /**
     * Returns this contract's artifact.
     */
    static get artifact(): ContractArtifact;
    /**
     * Returns this contract's artifact with public bytecode.
     */
    static get artifactForPublic(): ContractArtifact;
    static get storage(): ContractStorageLayout<'single' | 'list' | 'map'>;
    /** Type-safe wrappers for the public methods exposed by the contract. */
    methods: {
        /** add_args_return(arg_a: field, arg_b: field) */
        add_args_return: ((arg_a: FieldLike, arg_b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** add_storage_map(to: struct, amount: integer) */
        add_storage_map: ((to: AztecAddressLike, amount: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** add_u128(a: integer, b: integer) */
        add_u128: ((a: (bigint | number), b: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** assert_calldata_copy(args: array) */
        assert_calldata_copy: ((args: FieldLike[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** assert_nullifier_exists(nullifier: field) */
        assert_nullifier_exists: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** assert_same(arg_a: field, arg_b: field) */
        assert_same: ((arg_a: FieldLike, arg_b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** assertion_failure() */
        assertion_failure: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** bitwise_ops(x: integer, y: integer) */
        bitwise_ops: ((x: (bigint | number), y: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** bulk_testing(args_field: array, args_u8: array, get_instance_for_address: struct, expected_deployer: struct, expected_class_id: struct, expected_initialization_hash: field, skip_strictly_limited_side_effects: boolean) */
        bulk_testing: ((args_field: FieldLike[], args_u8: (bigint | number)[], get_instance_for_address: AztecAddressLike, expected_deployer: AztecAddressLike, expected_class_id: WrappedFieldLike, expected_initialization_hash: FieldLike, skip_strictly_limited_side_effects: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** conditional_move(x: array, y: array, b: boolean) */
        conditional_move: ((x: FieldLike[], y: FieldLike[], b: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** create_different_nullifier_in_nested_call(nestedAddress: struct, nullifier: field) */
        create_different_nullifier_in_nested_call: ((nestedAddress: AztecAddressLike, nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** create_same_nullifier_in_nested_call(nestedAddress: struct, nullifier: field) */
        create_same_nullifier_in_nested_call: ((nestedAddress: AztecAddressLike, nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** debug_logging() */
        debug_logging: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** divide_by_zero() */
        divide_by_zero: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** elliptic_curve_add(lhs: struct, rhs: struct) */
        elliptic_curve_add: ((lhs: {
            x: FieldLike;
            y: FieldLike;
            is_infinite: boolean;
        }, rhs: {
            x: FieldLike;
            y: FieldLike;
            is_infinite: boolean;
        }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** elliptic_curve_add_and_double() */
        elliptic_curve_add_and_double: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_nullifier_and_check(nullifier: field) */
        emit_nullifier_and_check: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_public_log() */
        emit_public_log: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** enqueue_public_from_private() */
        enqueue_public_from_private: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** external_call_to_assertion_failure() */
        external_call_to_assertion_failure: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** external_call_to_divide_by_zero() */
        external_call_to_divide_by_zero: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** external_call_to_divide_by_zero_recovers() */
        external_call_to_divide_by_zero_recovers: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** field_division(x: field, y: field) */
        field_division: ((x: FieldLike, y: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** fn_w_large_calldata(_arr: array) */
        fn_w_large_calldata: ((_arr: FieldLike[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_address() */
        get_address: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_args_hash(_a: integer, _fields: array) */
        get_args_hash: ((_a: (bigint | number), _fields: FieldLike[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_block_number() */
        get_block_number: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_chain_id() */
        get_chain_id: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_da_gas_left() */
        get_da_gas_left: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_fee_per_da_gas() */
        get_fee_per_da_gas: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_fee_per_l2_gas() */
        get_fee_per_l2_gas: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_l2_gas_left() */
        get_l2_gas_left: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_sender() */
        get_sender: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_timestamp() */
        get_timestamp: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_transaction_fee() */
        get_transaction_fee: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_version() */
        get_version: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** integer_division(x: integer, y: integer) */
        integer_division: ((x: (bigint | number), y: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** l1_to_l2_msg_exists(msg_hash: field, msg_leaf_index: field) */
        l1_to_l2_msg_exists: ((msg_hash: FieldLike, msg_leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** modulo2(a: integer) */
        modulo2: ((a: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** n_new_l2_to_l1_msgs(num: integer) */
        n_new_l2_to_l1_msgs: ((num: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** n_new_note_hashes(num: integer) */
        n_new_note_hashes: ((num: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** n_new_nullifiers(num: integer) */
        n_new_nullifiers: ((num: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** n_new_public_logs(num: integer) */
        n_new_public_logs: ((num: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** n_storage_writes(num: integer) */
        n_storage_writes: ((num: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_large_calldata(arr: array) */
        nested_call_large_calldata: ((arr: FieldLike[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_add(arg_a: field, arg_b: field) */
        nested_call_to_add: ((arg_a: FieldLike, arg_b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_add_n_times_different_addresses(addrs: array) */
        nested_call_to_add_n_times_different_addresses: ((addrs: AztecAddressLike[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_add_with_gas(arg_a: field, arg_b: field, l2_gas: integer, da_gas: integer) */
        nested_call_to_add_with_gas: ((arg_a: FieldLike, arg_b: FieldLike, l2_gas: (bigint | number), da_gas: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_assert_same(arg_a: field, arg_b: field) */
        nested_call_to_assert_same: ((arg_a: FieldLike, arg_b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_nothing() */
        nested_call_to_nothing: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_call_to_nothing_recovers() */
        nested_call_to_nothing_recovers: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_static_call_to_add(arg_a: field, arg_b: field) */
        nested_static_call_to_add: ((arg_a: FieldLike, arg_b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nested_static_call_to_set_storage() */
        nested_static_call_to_set_storage: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** new_note_hash(note_hash: field) */
        new_note_hash: ((note_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** new_nullifier(nullifier: field) */
        new_nullifier: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** note_hash_exists(note_hash: field, leaf_index: integer) */
        note_hash_exists: ((note_hash: FieldLike, leaf_index: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nullifier_collision(nullifier: field) */
        nullifier_collision: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** nullifier_exists(nullifier: field) */
        nullifier_exists: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** pedersen_commit(x: field, y: field) */
        pedersen_commit: ((x: FieldLike, y: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** process_message(message_ciphertext: struct, message_context: struct) */
        process_message: ((message_ciphertext: FieldLike[], message_context: {
            tx_hash: FieldLike;
            unique_note_hashes_in_tx: FieldLike[];
            first_nullifier_in_tx: FieldLike;
            recipient: AztecAddressLike;
        }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** public_dispatch(selector: field) */
        public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** read_assert_storage_single(a: field) */
        read_assert_storage_single: ((a: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** read_storage_list() */
        read_storage_list: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** read_storage_map(address: struct) */
        read_storage_map: ((address: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** read_storage_single() */
        read_storage_single: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** return_oracle() */
        return_oracle: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** returndata_copy_oracle() */
        returndata_copy_oracle: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** revert_oracle() */
        revert_oracle: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** send_l2_to_l1_msg(recipient: struct, content: field) */
        send_l2_to_l1_msg: ((recipient: EthAddressLike, content: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_big_field() */
        set_opcode_big_field: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_really_big_field() */
        set_opcode_really_big_field: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_small_field() */
        set_opcode_small_field: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_u32() */
        set_opcode_u32: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_u64() */
        set_opcode_u64: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_opcode_u8() */
        set_opcode_u8: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_read_storage_single(a: field) */
        set_read_storage_single: ((a: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_storage_list(a: field, b: field) */
        set_storage_list: ((a: FieldLike, b: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_storage_map(to: struct, amount: integer) */
        set_storage_map: ((to: AztecAddressLike, amount: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_storage_single(a: field) */
        set_storage_single: ((a: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** sync_private_state() */
        sync_private_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_get_contract_instance(address: struct) */
        test_get_contract_instance: ((address: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_get_contract_instance_matches(address: struct, expected_deployer: struct, expected_class_id: struct, expected_initialization_hash: field) */
        test_get_contract_instance_matches: ((address: AztecAddressLike, expected_deployer: AztecAddressLike, expected_class_id: WrappedFieldLike, expected_initialization_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** u128_addition_overflow() */
        u128_addition_overflow: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** variable_base_msm(scalar_lo: field, scalar_hi: field, scalar2_lo: field, scalar2_hi: field) */
        variable_base_msm: ((scalar_lo: FieldLike, scalar_hi: FieldLike, scalar2_lo: FieldLike, scalar2_hi: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
    };
}
//# sourceMappingURL=AvmTest.d.ts.map