import { AztecAddress } from '@aztec/aztec.js/addresses';
import { type AbiType, type AztecAddressLike, type ContractArtifact, EventSelector, type FieldLike, type OptionLike } from '@aztec/aztec.js/abi';
import { ContractBase, ContractFunctionInteraction, type ContractMethod, type ContractStorageLayout, type DeployInstantiationOptions, DeployMethod } from '@aztec/aztec.js/contracts';
import type { Wallet } from '@aztec/aztec.js/wallet';
export declare const OffchainEffectContractArtifact: ContractArtifact;
export type TestEvent = {
    a: (bigint | number);
    b: (bigint | number);
    c: (bigint | number);
};
/**
 * Type-safe interface for contract OffchainEffect;
 */
export declare class OffchainEffectContract 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 new Contract instance.
     */
    static at(address: AztecAddress, wallet: Wallet): OffchainEffectContract;
    /**
     * Creates a tx to deploy a new instance of this contract.
     * @param instantiation - Optional address-affecting parameters (salt, deployer / universalDeploy, publicKeys).
     *                       Salt defaults to a random value; the deployer is locked lazily from the first send-time `from`.
     */
    static deploy(wallet: Wallet, instantiation?: DeployInstantiationOptions): DeployMethod<OffchainEffectContract>;
    /**
     * Creates a tx to deploy a new instance of this contract using the specified constructor method.
     */
    static deployWithOpts<M extends keyof OffchainEffectContract['methods']>(opts: {
        method?: M;
        wallet: Wallet;
        instantiation?: DeployInstantiationOptions;
    }, ...args: Parameters<OffchainEffectContract['methods'][M]>): DeployMethod<OffchainEffectContract>;
    /**
     * 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<'balances'>;
    /** Type-safe wrappers for the public methods exposed by the contract. */
    methods: {
        /** call_deliver_offchain_message(ciphertext: array, recipient: struct) */
        call_deliver_offchain_message: ((ciphertext: FieldLike[], recipient: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_event_as_offchain_message_for_msg_sender(a: integer, b: integer, c: integer) */
        emit_event_as_offchain_message_for_msg_sender: ((a: (bigint | number), b: (bigint | number), c: (bigint | number)) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_note_as_offchain_message(value: integer, owner: struct) */
        emit_note_as_offchain_message: ((value: (bigint | number), owner: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emit_offchain_effects(effects: struct) */
        emit_offchain_effects: ((effects: {
            data: FieldLike[];
            next_contract: AztecAddressLike;
        }[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** emitting_offchain_effect_from_utility_reverts() */
        emitting_offchain_effect_from_utility_reverts: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** get_note_value(owner: struct) */
        get_note_value: ((owner: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** offchain_receive(messages: struct) */
        offchain_receive: ((messages: {
            ciphertext: FieldLike[];
            recipient: AztecAddressLike;
            tx_hash: OptionLike<FieldLike>;
            anchor_block_timestamp: (bigint | number);
        }[]) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** public_dispatch(selector: field) */
        public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** sync_state(scope: struct) */
        sync_state: ((scope: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
        /** view_deliver_offchain_message(ciphertext: array, recipient: struct) */
        view_deliver_offchain_message: ((ciphertext: FieldLike[], recipient: AztecAddressLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
    };
    static get events(): {
        TestEvent: {
            abiType: AbiType;
            eventSelector: EventSelector;
            fieldNames: string[];
        };
    };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT2ZmY2hhaW5FZmZlY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9PZmZjaGFpbkVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFtQixNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFFLEtBQUssZ0JBQWdCLEVBQUUsYUFBYSxFQUFzQyxLQUFLLFNBQVMsRUFBNkcsS0FBSyxVQUFVLEVBQXdDLE1BQU0scUJBQXFCLENBQUM7QUFDdFUsT0FBTyxFQUFZLFlBQVksRUFBRSwyQkFBMkIsRUFBRSxLQUFLLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLEtBQUssMEJBQTBCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJaE0sT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsZUFBTyxNQUFNLDhCQUE4QixrQkFBbUYsQ0FBQztBQUd6SCxNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQTtJQUM1QixDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDcEIsQ0FBQyxFQUFFLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFBO0NBQ2IsQ0FBQTtBQUdQOztHQUVHO0FBQ0gscUJBQWEsc0JBQXVCLFNBQVEsWUFBWTtJQUV0RCxPQUFPLGVBS047SUFJRDs7Ozs7T0FLRztJQUNILE9BQWMsRUFBRSxDQUNkLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLE1BQU0sRUFBRSxNQUFNLEdBQ2Isc0JBQXNCLENBRXhCO0lBR0Q7Ozs7T0FJRztJQUNILE9BQWMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLEVBQUUsMEJBQTBCLHdDQVU5RTtJQUVEOztPQUVHO0lBQ0gs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