import { Broadcast } from '../../util/broadcasts';
import { Config } from '@wagmi/core';
import { Address, Chain, Hex } from 'viem';
import { TxSender } from '../../util/TxSender';
export declare const executeTransactionOperation: ({ chainId, deterministicAddress, initCode, baseSalt, txSender, }: {
    chainId: number;
    deterministicAddress: Address;
    initCode: Hex;
    baseSalt: Hex;
    txSender?: TxSender;
}) => {
    key: (string | number)[];
    fn: () => Promise<`0x${string}`>;
};
export declare const writeBroadcastArtifactOperation: ({ foundryArtifactPath, contractArguments, deterministicAddress, broadcasts, }: {
    foundryArtifactPath: string;
    contractArguments: string[];
    deterministicAddress: Address;
    broadcasts: Broadcast[];
}) => {
    key: string[];
    fn: () => Promise<void>;
};
export declare const deployCreate2: ({ wagmiConfig, deterministicAddress, initCode, baseSalt, chains, foundryArtifactPath, contractArguments, txSender, }: {
    wagmiConfig: Config;
    deterministicAddress: Address;
    initCode: Hex;
    baseSalt: Hex;
    chains: Chain[];
    foundryArtifactPath: string;
    contractArguments: string[];
    txSender?: TxSender;
}) => Promise<{
    chainId: number;
    hash: `0x${string}`;
    transaction: {
        type: "legacy";
        yParity?: undefined;
        from: Address;
        gas: bigint;
        hash: import("viem").Hash;
        input: Hex;
        nonce: number;
        r: Hex;
        s: Hex;
        to: Address | null;
        typeHex: Hex | null;
        v: bigint;
        value: bigint;
        accessList?: undefined;
        authorizationList?: undefined;
        blobVersionedHashes?: undefined;
        chainId: number;
        gasPrice: bigint;
        maxFeePerBlobGas?: undefined;
        maxFeePerGas?: undefined;
        maxPriorityFeePerGas?: undefined;
        blockHash: `0x${string}`;
        blockNumber: bigint;
        transactionIndex: number;
    } | {
        type: "eip2930";
        yParity: number;
        from: Address;
        gas: bigint;
        hash: import("viem").Hash;
        input: Hex;
        nonce: number;
        r: Hex;
        s: Hex;
        to: Address | null;
        typeHex: Hex | null;
        v: bigint;
        value: bigint;
        accessList: import("viem").AccessList;
        authorizationList?: undefined;
        blobVersionedHashes?: undefined;
        chainId: number;
        gasPrice: bigint;
        maxFeePerBlobGas?: undefined;
        maxFeePerGas?: undefined;
        maxPriorityFeePerGas?: undefined;
        blockHash: `0x${string}`;
        blockNumber: bigint;
        transactionIndex: number;
    } | {
        type: "eip1559";
        yParity: number;
        from: Address;
        gas: bigint;
        hash: import("viem").Hash;
        input: Hex;
        nonce: number;
        r: Hex;
        s: Hex;
        to: Address | null;
        typeHex: Hex | null;
        v: bigint;
        value: bigint;
        accessList: import("viem").AccessList;
        authorizationList?: undefined;
        blobVersionedHashes?: undefined;
        chainId: number;
        gasPrice?: undefined;
        maxFeePerBlobGas?: undefined;
        maxFeePerGas: bigint;
        maxPriorityFeePerGas: bigint;
        blockHash: `0x${string}`;
        blockNumber: bigint;
        transactionIndex: number;
    } | {
        type: "eip4844";
        yParity: number;
        from: Address;
        gas: bigint;
        hash: import("viem").Hash;
        input: Hex;
        nonce: number;
        r: Hex;
        s: Hex;
        to: Address | null;
        typeHex: Hex | null;
        v: bigint;
        value: bigint;
        accessList: import("viem").AccessList;
        authorizationList?: undefined;
        blobVersionedHashes: readonly Hex[];
        chainId: number;
        gasPrice?: undefined;
        maxFeePerBlobGas: bigint;
        maxFeePerGas: bigint;
        maxPriorityFeePerGas: bigint;
        blockHash: `0x${string}`;
        blockNumber: bigint;
        transactionIndex: number;
    } | {
        type: "eip7702";
        yParity: number;
        from: Address;
        gas: bigint;
        hash: import("viem").Hash;
        input: Hex;
        nonce: number;
        r: Hex;
        s: Hex;
        to: Address | null;
        typeHex: Hex | null;
        v: bigint;
        value: bigint;
        accessList: import("viem").AccessList;
        authorizationList: import("viem/experimental").SignedAuthorizationList;
        blobVersionedHashes?: undefined;
        chainId: number;
        gasPrice?: undefined;
        maxFeePerBlobGas?: undefined;
        maxFeePerGas: bigint;
        maxPriorityFeePerGas: bigint;
        blockHash: `0x${string}`;
        blockNumber: bigint;
        transactionIndex: number;
    };
    receipt: {
        blobGasPrice?: bigint | undefined;
        blobGasUsed?: bigint | undefined;
        blockHash: import("viem").Hash;
        blockNumber: bigint;
        contractAddress: Address | null | undefined;
        cumulativeGasUsed: bigint;
        effectiveGasPrice: bigint;
        from: Address;
        gasUsed: bigint;
        logs: import("viem").Log<bigint, number, false>[];
        logsBloom: Hex;
        root?: import("viem").Hash | undefined;
        status: "success" | "reverted";
        to: Address | null;
        transactionHash: import("viem").Hash;
        transactionIndex: number;
        type: import("viem").TransactionType;
        chainId: number;
    };
}[]>;
