import { type AbiType, AztecAddress, type AztecAddressLike, type ContractArtifact, ContractBase, ContractFunctionInteraction, type ContractMethod, type ContractStorageLayout, DeployMethod, type EthAddressLike, EventSelector, type FieldLike, PublicKeys, type Wallet } from '@aztec/aztec.js';
export declare const TestContractArtifact: ContractArtifact;
export type ExampleEvent = {
    value0: FieldLike;
    value1: FieldLike;
    value2: FieldLike;
    value3: FieldLike;
    value4: FieldLike;
};
/**
 * Type-safe interface for contract Test;
 */
export declare class TestContract 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<TestContract>;
    /**
     * Creates a tx to deploy a new instance of this contract.
     */
    static deploy(wallet: Wallet): DeployMethod<TestContract>;
    /**
     * 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<TestContract>;
    /**
     * Creates a tx to deploy a new instance of this contract using the specified constructor method.
     */
    static deployWithOpts<M extends keyof TestContract['methods']>(opts: {
        publicKeys?: PublicKeys;
        method?: M;
        wallet: Wallet;
    }, ...args: Parameters<TestContract['methods'][M]>): DeployMethod<TestContract>;
    /**
     * 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<'note_in_private_immutable' | 'struct_in_private_immutable' | 'note_in_private_mutable' | 'struct_in_private_mutable' | 'note_in_private_set' | 'struct_in_private_set' | 'note_in_public_immutable' | 'struct_in_public_immutable' | 'struct_in_map' | 'struct_in_delayed_public_mutable' | 'dummy_variable'>;
    /** Type-safe wrappers for the public methods exposed by the contract. */
    methods: {
        /** assert_header_private(header_hash: field) */
        assert_header_private: ((header_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** assert_private_global_vars(chain_id: field, version: field) */
        assert_private_global_vars: ((chain_id: FieldLike, version: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_complete_partial_note(partial_note: struct, value: integer) */
        call_complete_partial_note: ((partial_note: {
            commitment: FieldLike;
        }, value: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_create_and_complete_partial_note(owner: struct, storage_slot: field, value: integer) */
        call_create_and_complete_partial_note: ((owner: AztecAddressLike, storage_slot: FieldLike, value: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_create_note(value: integer, owner: struct, storage_slot: field, make_tx_hybrid: boolean) */
        call_create_note: ((value: (bigint | number), owner: AztecAddressLike, storage_slot: FieldLike, make_tx_hybrid: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_create_partial_note(owner: struct, storage_slot: field) */
        call_create_partial_note: ((owner: AztecAddressLike, storage_slot: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_destroy_note(storage_slot: field) */
        call_destroy_note: ((storage_slot: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_get_notes(storage_slot: field, active_or_nullified: boolean) */
        call_get_notes: ((storage_slot: FieldLike, active_or_nullified: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_get_notes_many(storage_slot: field, active_or_nullified: boolean) */
        call_get_notes_many: ((storage_slot: FieldLike, active_or_nullified: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_view_notes(storage_slot: field, active_or_nullified: boolean) */
        call_view_notes: ((storage_slot: FieldLike, active_or_nullified: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** call_view_notes_many(storage_slot: field, active_or_nullified: boolean) */
        call_view_notes_many: ((storage_slot: FieldLike, active_or_nullified: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** consume_message_from_arbitrary_sender_private(content: field, secret: field, sender: struct, message_leaf_index: field) */
        consume_message_from_arbitrary_sender_private: ((content: FieldLike, secret: FieldLike, sender: EthAddressLike, message_leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** consume_message_from_arbitrary_sender_public(content: field, secret: field, sender: struct, message_leaf_index: field) */
        consume_message_from_arbitrary_sender_public: ((content: FieldLike, secret: FieldLike, sender: EthAddressLike, message_leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** consume_mint_to_private_message(amount: integer, secret_for_L1_to_L2_message_consumption: field, portal_address: struct, message_leaf_index: field) */
        consume_mint_to_private_message: ((amount: (bigint | number), secret_for_L1_to_L2_message_consumption: FieldLike, portal_address: EthAddressLike, message_leaf_index: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** create_l2_to_l1_message_arbitrary_recipient_private(content: field, recipient: struct) */
        create_l2_to_l1_message_arbitrary_recipient_private: ((content: FieldLike, recipient: EthAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** create_l2_to_l1_message_arbitrary_recipient_public(content: field, recipient: struct) */
        create_l2_to_l1_message_arbitrary_recipient_public: ((content: FieldLike, recipient: EthAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_array_as_encrypted_log(fields: array, owner: struct, nest: boolean) */
        emit_array_as_encrypted_log: ((fields: FieldLike[], owner: AztecAddressLike, nest: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_nullifier(nullifier: field) */
        emit_nullifier: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_nullifier_public(nullifier: field) */
        emit_nullifier_public: ((nullifier: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_public(value: field) */
        emit_public: ((value: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_master_incoming_viewing_public_key(address: struct) */
        get_master_incoming_viewing_public_key: ((address: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_ovsk_app(ovpk_m_hash: field) */
        get_ovsk_app: ((ovpk_m_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_this_address() */
        get_this_address: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** initialize() */
        initialize: (() => 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'>;
        /** publish_contract_instance(target: struct) */
        publish_contract_instance: ((target: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** set_include_by_timestamp(include_by_timestamp: integer, make_tx_hybrid: boolean) */
        set_include_by_timestamp: ((include_by_timestamp: (bigint | number), make_tx_hybrid: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** sync_private_state() */
        sync_private_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_code_gen(a_field: field, a_bool: boolean, a_number: integer, an_array: array, a_struct: struct, a_deep_struct: struct) */
        test_code_gen: ((a_field: FieldLike, a_bool: boolean, a_number: (bigint | number), an_array: FieldLike[], a_struct: {
            amount: FieldLike;
            secret_hash: FieldLike;
        }, a_deep_struct: {
            a_field: FieldLike;
            a_bool: boolean;
            a_note: {
                amount: FieldLike;
                secret_hash: FieldLike;
            };
            many_notes: {
                amount: FieldLike;
                secret_hash: FieldLike;
            }[];
        }) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_note_inclusion(owner: struct, storage_slot: field) */
        test_note_inclusion: ((owner: AztecAddressLike, storage_slot: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_setting_fee_payer() */
        test_setting_fee_payer: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** test_setting_teardown() */
        test_setting_teardown: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
    };
    static get events(): {
        ExampleEvent: {
            abiType: AbiType;
            eventSelector: EventSelector;
            fieldNames: string[];
        };
    };
}
//# sourceMappingURL=Test.d.ts.map