import * as viem from 'viem';
import { Address, Transport, Chain, PublicClient, Hex, Hash, Abi, ContractFunctionName, ContractFunctionArgs, Account, DeriveChain, ContractFunctionParameters, GetChainParameter, GetValue, FormattedTransactionRequest, UnionOmit, SignableMessage } from 'viem';
import * as _cometh_connect_sdk_4337 from '@cometh/connect-sdk-4337';
import { createSafeSmartAccountParameters, ComethSmartAccountClient, ComethSafeSmartAccount, EnrichedOwner, Signer, webAuthnOptions, QRCodeOptions, IsRecoveryActiveParams, IsRecoveryActiveReturnType, RecoveryParamsResponse, GetRecoveryRequestParams, CancelRecoveryRequestParams, GrantPermissionParameters, GrantPermissionResponse, UsePermissionParameters, SafeSigner } from '@cometh/connect-sdk-4337';
import { z, A, O, aQ, a8, aA, b } from './hydration-HsNFcW1O.js';
import React, { ReactNode } from 'react';
import { GetAccountParameter } from 'viem/_types/types/account';
import { Prettify } from 'viem/chains';
import { UnionEvaluate } from 'viem/types/utils';
import { UseQueryParameters } from 'wagmi/query';
import { EstimateUserOperationGasParameters, EstimateUserOperationGasReturnType } from 'viem/account-abstraction';
import * as permissionless_actions_smartAccount from 'permissionless/actions/smartAccount';
import * as viem__types_account_abstraction from 'viem/_types/account-abstraction';
import * as viem__types_actions_siwe_verifySiweMessage from 'viem/_types/actions/siwe/verifySiweMessage';
import * as viem_experimental from 'viem/experimental';
import * as viem_actions from 'viem/actions';
import * as viem__types_utils_ccip from 'viem/_types/utils/ccip';

type ConnectParameters = {
    address?: Address;
    passKeyName?: string;
};
declare const useConnect: () => {
    connect: (params?: ConnectParameters) => void;
    connectAsync: (params?: ConnectParameters) => Promise<void>;
    isPending: boolean;
    error: Error | null;
};

interface UseBaseQueryOptions<TQueryFnData = unknown, TError = z, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends A = A> extends a8<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
    /**
     * Set this to `false` to unsubscribe this observer from updates to the query cache.
     * Defaults to `true`.
     */
    subscribed?: boolean;
}
interface UseQueryOptions<TQueryFnData = unknown, TError = z, TData = TQueryFnData, TQueryKey extends A = A> extends O<UseBaseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>, 'suspense'> {
}
type UseBaseQueryResult<TData = unknown, TError = z> = aA<TData, TError>;
type UseQueryResult<TData = unknown, TError = z> = UseBaseQueryResult<TData, TError>;
interface UseMutationOptions<TData = unknown, TError = z, TVariables = void, TContext = unknown> extends O<aQ<TData, TError, TVariables, TContext>, '_defaulted'> {
}

type NetworkParams = {
    chain?: Chain;
    bundlerUrl?: string;
    paymasterUrl?: string;
    publicClient?: PublicClient;
};
type OmitConfig<T> = Omit<T, "chain" | "paymasterUrl" | "bundlerUrl" | "publicClient"> & {
    networksConfig: NetworkParams[];
};
type ConnectConfig = OmitConfig<createSafeSmartAccountParameters>;
type ContextComethSmartAccountClient = ComethSmartAccountClient<Transport, Chain, ComethSafeSmartAccount>;
declare const ConnectProvider: <TConfig extends ConnectConfig, TQueryClient extends b | undefined>({ children, config, queryClient, }: {
    children: ReactNode;
    config: TConfig;
    queryClient: TQueryClient;
}) => React.JSX.Element;

type AccountStatus = "connected" | "disconnected";
interface UseAccountResult {
    address: Address | undefined;
    smartAccountClient: ContextComethSmartAccountClient | null;
    isConnected: boolean;
    isDisconnected: boolean;
    status: AccountStatus;
    chain: Chain | undefined;
    chainId: number | undefined;
}
declare const useAccount: () => UseAccountResult;

type MutationOptionsWithoutMutationFn = Omit<UseMutationOptions<any, any, any, any>, "mutationFn" | "mutationKey">;
type Transaction = {
    to: Address;
    value: bigint;
    data: Hex;
};
type QueryResultType<T> = {
    data?: T;
    error: unknown;
    isPending: boolean;
    isSuccess: boolean;
    isError: boolean;
};

/**
 * Props for the useSendTransaction hook.
 * @property {Transaction | Transaction[]} transactions - A single transaction or an array of transactions to send.
 */
type UseSendTransactionProps = {
    calls: Transaction | Transaction[];
};
/**
 * Type for the sendTransaction function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type SendTransactionMutate = (variables: UseSendTransactionProps) => void;
/**
 * Type for the sendTransactionAsync function.
 * This function returns a promise that resolves to the transaction hash.
 */
type SendTransactionMutateAsync = (variables: UseSendTransactionProps) => Promise<Hash>;
type UseSendTransactionReturn = QueryResultType<Hash> & {
    sendTransaction: SendTransactionMutate;
    sendTransactionAsync: SendTransactionMutateAsync;
};
/**
 * A custom hook for sending transactions through a smart account.
 *
 * This hook provides functionality to send either a single transaction or multiple transactions
 * in batch. It uses the smart account client to process and send these transactions.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useSendTransaction } from "@/hooks/useSendTransaction";
 * import { useState } from "react";
 * import { parseEther, Address } from "viem";
 *
 * export const TransactionSender = () => {
 *   const { sendTransaction, sendTransactionAsync, isLoading, isError, error, isSuccess, data } = useSendTransaction();
 *   const [recipient, setRecipient] = useState<Address>();
 *   const [amount, setAmount] = useState<string>("0");
 *
 *   const handleSendTransaction = () => {
 *     if (recipient) {
 *       sendTransaction({
 *           to: recipient,
 *           value: parseEther(amount),
 *           data: "0x",
 *       });
 *     }
 *   };
 *
 *   const handleSendBatchTransactions = async () => {
 *     if (recipient) {
 *       try {
 *         const hash = await sendTransactionAsync({
 *           calls: [
 *             {
 *               to: recipient,
 *               value: parseEther(amount),
 *               data: "0x",
 *             },
 *             {
 *               to: recipient,
 *               value: parseEther((Number(amount) * 2).toString()),
 *               data: "0x",
 *             }
 *           ]
 *         });
 *         console.log("Batch transactions sent! Hash:", hash);
 *       } catch (error) {
 *         console.error("Error sending batch transactions:", error);
 *       }
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <input
 *         placeholder="Recipient address"
 *         onChange={(e) => setRecipient(e.target.value as Address)}
 *       />
 *       <input
 *         type="number"
 *         placeholder="Amount in ETH"
 *         onChange={(e) => setAmount(e.target.value)}
 *       />
 *       <button onClick={handleSendTransaction} disabled={isLoading}>
 *         Send Transaction
 *       </button>
 *       <button onClick={handleSendBatchTransactions} disabled={isLoading}>
 *         Send Batch Transactions
 *       </button>
 *       {isError && <p>Error: {error.message}</p>}
 *       {isSuccess && <p>Transaction sent! Hash: {data}</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - All properties from the mutation object (`isLoading`, `isError`, `error`, `isSuccess`, `data`, etc.)
 * - `sendTransaction`: A function to trigger the transaction sending without waiting for the result.
 * - `sendTransactionAsync`: A function to trigger the transaction sending and wait for the result.
 */
declare const useSendTransaction: (mutationProps?: MutationOptionsWithoutMutationFn) => UseSendTransactionReturn;

/**
 * @description A custom hook for writing to smart contracts through a smart account.
 *
 * This hook provides functionality to write to a smart contract by encoding the function call
 * and sending it as a transaction. It uses the smart account client to process and send these transactions.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useWriteContract } from "@/hooks/useWriteContract";
 * import { useState } from "react";
 * import { parseEther, Address } from "viem";
 * import { abi } from './contractABI';
 *
 * export const ContractWriter = () => {
 *   const { writeContract, isLoading, isError, error, isSuccess, data } = useWriteContract();
 *   const [recipient, setRecipient] = useState<Address>();
 *   const [amount, setAmount] = useState<string>("0");
 *
 *   const handleWriteContract = async () => {
 *     if (recipient) {
 *       try {
 *         const hash = await writeContract({
 *           abi,
 *           address: '0xYourContractAddress',
 *           functionName: 'transfer',
 *           args: [recipient, parseEther(amount)],
 *         });
 *         console.log("Contract write successful! Hash:", hash);
 *       } catch (error) {
 *         console.error("Error writing to contract:", error);
 *       }
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <input
 *         placeholder="Recipient address"
 *         onChange={(e) => setRecipient(e.target.value as Address)}
 *       />
 *       <input
 *         type="number"
 *         placeholder="Amount in ETH"
 *         onChange={(e) => setAmount(e.target.value)}
 *       />
 *       <button onClick={handleWriteContract} disabled={isLoading}>
 *         Write to Contract
 *       </button>
 *       {isError && <p>Error: {error.message}</p>}
 *       {isSuccess && <p>Contract write successful! Hash: {data}</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - All properties from the mutation object (`isLoading`, `isError`, `error`, `isSuccess`, `data`, etc.)
 * - `writeContract`: A function to trigger the contract write, which returns a promise
 *   that resolves to the transaction hash.
 */
/**
 * Type for the writeContract function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type WriteContractMutate = (variables: WriteContractParameters) => void;
/**
 * Type for the writeContractAsync function.
 * This function returns a promise that resolves to the transaction hash.
 */
type WriteContractMutateAsync = (variables: WriteContractParameters) => Promise<Hash>;
type UseWriteContractReturn = QueryResultType<Hash> & {
    writeContract: WriteContractMutate;
    writeContractAsync: WriteContractMutateAsync;
};
type WriteContractParameters<abi extends Abi | readonly unknown[] = Abi, functionName extends ContractFunctionName<abi, "nonpayable" | "payable"> = ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName> = ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, chainOverride extends Chain | undefined = Chain | undefined, derivedChain extends Chain | undefined = DeriveChain<chain, chainOverride>> = ContractFunctionParameters<abi, "nonpayable" | "payable", functionName, args> & GetChainParameter<chain, chainOverride> & Prettify<GetAccountParameter<account> & GetValue<abi, functionName, FormattedTransactionRequest<derivedChain>["value"]> & {
    /** Data to append to the end of the calldata. Useful for adding a ["domain" tag](https://opensea.notion.site/opensea/Seaport-Order-Attributions-ec2d69bf455041a5baa490941aad307f). */
    dataSuffix?: Hex;
}> & UnionEvaluate<UnionOmit<FormattedTransactionRequest<derivedChain>, "data" | "from" | "to" | "value">>;
declare const useWriteContract: (mutationProps?: MutationOptionsWithoutMutationFn) => UseWriteContractReturn;

declare const useDisconnect: () => {
    disconnect: () => void;
    disconnectAsync: () => Promise<void>;
    isPending: boolean;
    error: Error | null;
};

type AddOwnerParameters = {
    ownerToAdd: Address;
};
type RemoveOwnerParameters = {
    ownerToRemove: Address;
};
type UseAddOwnerReturn = QueryResultType<Hash> & {
    addOwner: (params: AddOwnerParameters) => void;
    addOwnerAsync: (params: AddOwnerParameters) => Promise<Hash>;
};
type UseRemoveOwnerReturn = QueryResultType<Hash> & {
    removeOwner: (params: RemoveOwnerParameters) => void;
    removeOwnerAsync: (params: RemoveOwnerParameters) => Promise<Hash>;
};
/**
 * A custom hook for adding a new owner to a smart account.
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 * @returns An object containing the mutation function and related properties.
 * @throws {Error} If no smart account is found when trying to add an owner.
 */
declare const useAddOwner: (mutationProps?: Omit<UseMutationOptions<Hash, Error, AddOwnerParameters>, "mutationFn">) => UseAddOwnerReturn;
/**
 * A custom hook for removing an owner from a smart account.
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 * @returns An object containing the mutation function and related properties.
 * @throws {Error} If no smart account is found when trying to remove an owner.
 */
declare const useRemoveOwner: (mutationProps?: Omit<UseMutationOptions<Hash, Error, RemoveOwnerParameters>, "mutationFn">) => UseRemoveOwnerReturn;
/**
 * A custom hook for retrieving the list of current owners of a smart account.
 * @param queryProps Optional query properties from @tanstack/react-query
 * @returns An object containing the query result and related properties.
 * @throws {Error} If no smart account is found when trying to get owners.
 */
declare const useGetOwners: (queryProps?: Omit<UseQueryOptions<readonly Address[], Error>, "queryKey" | "queryFn">) => UseQueryResult<readonly `0x${string}`[], Error>;
/**
 * A custom hook for retrieving detailed information about current owners of a smart account.
 * @param queryProps Optional query properties from @tanstack/react-query
 * @returns An object containing the query result and related properties.
 * @throws {Error} If no smart account is found when trying to get enriched owners.
 */
declare const useGetEnrichedOwners: (queryProps?: Omit<UseQueryOptions<EnrichedOwner[], Error>, "queryKey" | "queryFn">) => UseQueryResult<EnrichedOwner[], Error>;

/**
 * Props for the useValidateAddDevice hook.
 * @property {Signer} signer - The signer to be added as a new device.
 */
type UseValidateAddDeviceProps = {
    signer: Signer;
};
/**
 * Type for the validateAddDevice function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type ValidateAddDeviceMutate = (variables: UseValidateAddDeviceProps) => void;
/**
 * Type for the validateAddDeviceAsync function.
 * This function returns a promise that resolves to the transaction hash.
 */
type ValidateAddDeviceMutateAsync = (variables: UseValidateAddDeviceProps) => Promise<Hash>;
type UseValidateAddDeviceReturn = QueryResultType<Hash> & {
    validateAddDevice: ValidateAddDeviceMutate;
    validateAddDeviceAsync: ValidateAddDeviceMutateAsync;
};
/**
 * A hook that validates the adding of a new device as passkey owner of the smart account.
 *
 * This hook uses the `validateAddDevice` method from the smart account client to add a new signer
 * to the user's account. It's typically used in the process of adding a new device or recovery method
 * to a user's account.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @returns An object containing:
 * - All properties from the mutation object (`isPending`, `isError`, `error`, `isSuccess`, `data`, etc.)
 * - `validateAddDevice`: A function to trigger the device validation without waiting for the result.
 * - `validateAddDeviceAsync`: A function to trigger the device validation and wait for the result.
 *
 * @throws {Error} If no smart account is found when trying to validate adding a device.
 */
declare const useValidateAddDevice: (mutationProps?: MutationOptionsWithoutMutationFn) => UseValidateAddDeviceReturn;

/**
 * Props for the useVerifyMessage hook.
 * @property {string} message - The message to verify.
 * @property {Hex} signature - The signature to verify.
 */
type UseVerifySignatureProps = {
    message: string;
    signature: Hex;
};
/**
 * Type for the verifyMessage function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type VerifyMessageMutate = (variables: UseVerifySignatureProps) => void;
/**
 * Type for the verifyMessageAsync function.
 * This function returns a promise that resolves to a boolean indicating if the signature is valid.
 */
type VerifyMessageMutateAsync = (variables: UseVerifySignatureProps) => Promise<boolean>;
type UseVerifyMessageReturn = {
    data?: boolean;
    error: unknown;
    isPending: boolean;
    isSuccess: boolean;
    isError: boolean;
    verifyMessage: VerifyMessageMutate;
    verifyMessageAsync: VerifyMessageMutateAsync;
};
/**
 * A hook that verifies a message signature for the current smart account.
 *
 * This hook uses the `verifySignature` method from the smart account client to verify
 * if a given signature is valid for a specific message. It's typically used to authenticate
 * user actions or verify the integrity of signed messages.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @returns An object containing:
 * - All properties from the mutation object (`isPending`, `isError`, `error`, `isSuccess`, `data`, etc.)
 * - `verifyMessage`: A function to trigger the signature verification without waiting for the result.
 * - `verifyMessageAsync`: A function to trigger the signature verification and wait for the result.
 *
 * @throws {Error} If no smart account is found when trying to verify a signature.
 */
declare const useVerifyMessage: (mutationProps?: MutationOptionsWithoutMutationFn) => UseVerifyMessageReturn;

type GasPriceResult = {
    maxFeePerGas: bigint;
    maxPriorityFeePerGas: bigint;
};
/**
 * @description A hook that fetches the current gas price for transactions on the connected blockchain.
 *
 * This hook uses a public client to estimate the current gas fees. It returns both the `maxFeePerGas`
 * and `maxPriorityFeePerGas`. The `maxFeePerGas` is doubled to provide a buffer for potential gas price fluctuations.
 *
 * @param rpcUrl Optional RPC URL to use for the public client. If not provided, it will use the default RPC URL.
 * @param queryProps Optional query properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useGetGasPrice } from "@/hooks/useGetGasPrice";
 * import { formatEther } from "viem";
 *
 * export const GasPriceDisplay = () => {
 *   const { data: gasPrice, isLoading, error } = useGetGasPrice();
 *
 *   if (isLoading) return <p>Loading gas prices...</p>;
 *   if (error) return <p>Error fetching gas prices: {error.message}</p>;
 *
 *   return (
 *     <div>
 *       <h2>Current Gas Prices</h2>
 *       <p>Max Fee Per Gas: {formatEther(gasPrice.maxFeePerGas)} ETH</p>
 *       <p>Max Priority Fee Per Gas: {formatEther(gasPrice.maxPriorityFeePerGas)} ETH</p>
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing the query result and related properties.
 */
declare const useGetGasPrice: (rpcUrl?: string, queryProps?: Omit<UseQueryOptions<GasPriceResult, Error>, "queryKey" | "queryFn">) => UseQueryResult<GasPriceResult, Error>;

type UseRetrieveAccountAddressFromPasskeyOptions = {
    apiKey: string;
    chain: Chain;
    fullDomainSelected?: boolean;
    baseUrl?: string;
    queryProps?: UseQueryParameters;
};
declare const useRetrieveAccountAddressFromPasskeys: ({ apiKey, chain, fullDomainSelected, baseUrl, }: UseRetrieveAccountAddressFromPasskeyOptions) => {
    retrieveAddress: () => Promise<`0x${string}`>;
    isPending: boolean;
    error: Error | null;
};
declare const useRetrieveAccountAddressFromPasskeyId: ({ apiKey, chain, fullDomainSelected, baseUrl, }: UseRetrieveAccountAddressFromPasskeyOptions) => {
    retrieveAddress: (id: string) => Promise<`0x${string}`>;
    isPending: boolean;
    error: Error | null;
};

type CreateNewSignerParameters = {
    passKeyName?: string;
    webAuthnOptions?: webAuthnOptions;
    fullDomainSelected?: boolean;
};
type SerializeUrlParameters = {
    validationPageUrl: string;
    signerPayload: Signer;
};
type GenerateQRCodeUrlParameters = {
    validationPageUrl: string;
    signerPayload: Signer;
    options?: QRCodeOptions;
};
/**
 * Hook for creating a new signer
 *
 * @param apiKey - The API key for authentication
 * @param mutationProps - Optional mutation properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useCreateNewSigner } from './path-to-this-file';
 *
 * const MyComponent = () => {
 *   const { createSigner, isLoading, error, data } = useCreateNewSigner('your-api-key');
 *
 *   const handleCreateSigner = async () => {
 *     try {
 *       const newSigner = await createSigner({
 *         passKeyName: 'MyNewPasskey'
 *       });
 *       console.log('New signer created:', newSigner);
 *     } catch (err) {
 *       console.error('Error creating signer:', err);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={handleCreateSigner} disabled={isLoading}>
 *         Create New Signer
 *       </button>
 *       {isLoading && <p>Creating signer...</p>}
 *       {error && <p>Error: {error.message}</p>}
 *       {data && <p>Signer created successfully!</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing the mutation function and related properties.
 */
declare const useCreateNewSigner: (apiKey: string, baseUrl?: string) => {
    createSigner: (params?: CreateNewSignerParameters) => void;
    createSignerAsync: (params?: CreateNewSignerParameters) => Promise<Signer>;
    isPending: boolean;
    error: Error | null;
};
declare const useSerializeUrlWithSignerPayload: () => {
    serializeUrl: (params: SerializeUrlParameters) => void;
    serializeUrlAsync: (params: SerializeUrlParameters) => Promise<URL>;
    isPending: boolean;
    error: Error | null;
};
declare const useGenerateQRCodeUrl: () => {
    generateQRCode: (params: GenerateQRCodeUrlParameters) => void;
    generateQRCodeAsync: (params: GenerateQRCodeUrlParameters) => Promise<string>;
    isPending: boolean;
    error: Error | null;
};

type SignMessageArgs = {
    message: SignableMessage;
};
type SignMessageMutate = (variables: SignMessageArgs) => void;
type SignMessageMutateAsync = (variables: SignMessageArgs) => Promise<Hex>;
type UseSignMessageReturn = QueryResultType<Hash> & {
    signMessage: SignMessageMutate;
    signMessageAsync: SignMessageMutateAsync;
};
declare function useSignMessage(): UseSignMessageReturn;

type UseSetUpRecoveryModuleReturn = QueryResultType<Hash> & {
    setUpRecoveryModule: () => void;
    setUpRecoveryModuleAsync: () => Promise<Hash>;
};
/**
 * A custom hook for setting up a recovery module for a smart account.
 *
 * This hook provides functionality to set up a recovery module, which includes
 * deploying a delay module and enabling necessary modules for the smart account.
 * It uses the smart account client to process and send the required transactions.
 *
 * @template entryPoint - The type of EntryPoint used in the smart account setup.
 *
 * @example
 * ```tsx
 * import { useSetUpRecoveryModule } from "@/hooks/useSetUpRecoveryModule";
 *
 * export const RecoverySetup = () => {
 *   const {
 *     setUpRecoveryModule,
 *     setUpRecoveryModuleAsync,
 *     isLoading,
 *     isError,
 *     error,
 *     isSuccess,
 *     data
 *   } = useSetUpRecoveryModule();
 *
 *   const handleSetUp = async () => {
 *     try {
 *       const result = await setUpRecoveryModuleAsync();
 *       console.log('Recovery module set up successfully:', result);
 *     } catch (error) {
 *       console.error('Error setting up recovery module:', error);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={handleSetUp} disabled={isLoading}>
 *         Set Up Recovery Module
 *       </button>
 *       {isLoading && <p>Setting up recovery module...</p>}
 *       {isError && <p>Error: {error?.message}</p>}
 *       {isSuccess && <p>Recovery module set up successfully. Hash: {data}</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `setUpRecoveryModule`: A function to trigger the recovery module setup without waiting for the result.
 * - `setUpRecoveryModuleAsync`: A function to trigger the recovery module setup and wait for the result.
 * - `isLoading`: A boolean indicating if the setup is in progress.
 * - `isError`: A boolean indicating if an error occurred during setup.
 * - `error`: The error object if an error occurred, null otherwise.
 * - `isSuccess`: A boolean indicating if the setup was successful.
 * - `data`: The transaction hash (Hex) returned after successful setup.
 */
declare function useSetUpRecovery(): UseSetUpRecoveryModuleReturn;

type UseIsRecoveryActiveProps = IsRecoveryActiveParams;
type UseIsRecoveryActiveReturn = {
    data: IsRecoveryActiveReturnType | undefined;
    isLoading: boolean;
    isError: boolean;
    error: Error | null;
};
/**
 * A custom hook for checking if recovery is active for a smart account.
 *
 * This hook provides functionality to check if a delay module is deployed
 * and retrieve the guardian address for the smart account's recovery setup.
 *
 * @param {UseIsRecoveryActiveProps} props - The properties for the hook.
 * @param {string} [props.publicClient] - Optional client for the blockchain network.
 *
 * @example
 * ```tsx
 * import { useIsRecoveryActive } from "@/hooks/useIsRecoveryActive";
 *
 * export const RecoveryStatus = () => {
 *   const { data, isLoading, isError, error } = useIsRecoveryActive();
 *
 *   if (isLoading) return <p>Loading recovery status...</p>;
 *   if (isError) return <p>Error: {error?.message}</p>;
 *
 *   return (
 *     <div>
 *       <p>Recovery Module Deployed: {data?.isDelayModuleDeployed ? 'Yes' : 'No'}</p>
 *       <p>Guardian Address: {data?.guardianAddress || 'Not set'}</p>
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `data`: The result of the recovery status check, or undefined if not yet loaded.
 * - `isLoading`: A boolean indicating if the check is in progress.
 * - `isError`: A boolean indicating if an error occurred during the check.
 * - `error`: The error object if an error occurred, null otherwise.
 */
declare function useIsRecoveryActive(props?: UseIsRecoveryActiveProps): UseIsRecoveryActiveReturn;

type UseGetRecoveryRequestProps = GetRecoveryRequestParams;
type UseGetRecoveryRequestReturn = {
    data: RecoveryParamsResponse | undefined;
    isLoading: boolean;
    isError: boolean;
    error: Error | null;
};
/**
 * A custom hook for getting the recovery request for a smart account.
 *
 * This hook provides functionality to check if a recovery request is active
 * and retrieve the details of the recovery request if one exists.
 *
 * @param {UseGetRecoveryRequestProps} props - The properties for the hook.
 * @param {string} [props.publicClient] - Optional client for the blockchain network.
 * @param {UseQueryOptions} [queryOptions] - Optional configuration for the React Query hook.
 *
 * @example
 * ```tsx
 * import { useGetRecoveryRequest } from "@/hooks/useGetRecoveryRequest";
 *
 * export const RecoveryRequestStatus = () => {
 *   const { data, isLoading, isError, error } = useGetRecoveryRequest();
 *
 *   if (isLoading) return <p>Loading recovery request status...</p>;
 *   if (isError) return <p>Error: {error?.message}</p>;
 *
 *   return (
 *     <div>
 *       {data ? (
 *         <>
 *           <p>Recovery Request Active</p>
 *           <p>New Owner: {data.newOwner}</p>
 *           <p>Execution Time: {new Date(data.executionTime * 1000).toLocaleString()}</p>
 *         </>
 *       ) : (
 *         <p>No active recovery request</p>
 *       )}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `data`: The recovery request details, or undefined if no request is active or not yet loaded.
 * - `isLoading`: A boolean indicating if the check is in progress.
 * - `isError`: A boolean indicating if an error occurred during the check.
 * - `error`: The error object if an error occurred, null otherwise.
 * - `refetch`: A function to manually trigger a refetch of the recovery request status.
 */
declare function useGetRecoveryRequest(props?: UseGetRecoveryRequestProps, queryOptions?: Omit<UseQueryOptions<RecoveryParamsResponse | undefined, Error>, "queryKey" | "queryFn">): UseGetRecoveryRequestReturn;

type UseCancelRecoveryRequestProps = CancelRecoveryRequestParams;
type CancelRecoveryRequestMutate = (variables: UseCancelRecoveryRequestProps) => void;
type CancelRecoveryRequestMutateAsync = (variables: UseCancelRecoveryRequestProps) => Promise<Hex>;
type UseCancelRecoveryRequestReturn = QueryResultType<Hash> & {
    cancelRecoveryRequest: CancelRecoveryRequestMutate;
    cancelRecoveryRequestAsync: CancelRecoveryRequestMutateAsync;
};
/**
 * A custom hook for canceling a recovery request for a smart account.
 *
 * This hook provides functionality to cancel an active recovery request
 * for a smart account. It uses the smart account client to process and send
 * the required transaction to cancel the recovery process.
 *
 * @template entryPoint - The type of EntryPoint used in the smart account.
 *
 * @example
 * ```tsx
 * import { useCancelRecoveryRequest } from "@/hooks/useCancelRecoveryRequest";
 *
 * export const CancelRecoveryButton = () => {
 *   const {
 *     cancelRecoveryRequest,
 *     cancelRecoveryRequestAsync,
 *     isLoading,
 *     isError,
 *     error,
 *     isSuccess,
 *     data
 *   } = useCancelRecoveryRequest();
 *
 *   const handleCancel = async () => {
 *     try {
 *       const result = await cancelRecoveryRequestAsync({
 *          publicClient,
 *         // other necessary parameters
 *       });
 *       console.log('Recovery request canceled successfully:', result);
 *     } catch (error) {
 *       console.error('Error canceling recovery request:', error);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={handleCancel} disabled={isLoading}>
 *         Cancel Recovery Request
 *       </button>
 *       {isLoading && <p>Canceling recovery request...</p>}
 *       {isError && <p>Error: {error?.message}</p>}
 *       {isSuccess && <p>Recovery request canceled successfully. Hash: {data}</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `cancelRecoveryRequest`: A function to trigger the cancellation without waiting for the result.
 * - `cancelRecoveryRequestAsync`: A function to trigger the cancellation and wait for the result.
 * - `isLoading`: A boolean indicating if the cancellation is in progress.
 * - `isError`: A boolean indicating if an error occurred during cancellation.
 * - `error`: The error object if an error occurred, null otherwise.
 * - `isSuccess`: A boolean indicating if the cancellation was successful.
 * - `data`: The transaction hash (Hex) returned after successful cancellation.
 */
declare function useCancelRecoveryRequest(): UseCancelRecoveryRequestReturn;

declare const useSwitchChain: () => {
    switchChain: (params: {
        chainId: number;
    }) => Promise<void>;
    switchChainAsync: (params: {
        chainId: number;
    }) => Promise<void>;
    isPending: boolean;
    error: Error | null;
};

/**
 * Type for the getTransactionCost function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type UseGetTransactionCostMutate = (variables: EstimateUserOperationGasParameters) => void;
/**
 * Type for the getTransactionCostAsync function.
 * This function returns a promise that resolves to the transaction cost in wei.
 */
type UseGetTransactionCostMutateAsync = (variables: EstimateUserOperationGasParameters) => Promise<{
    totalGasCost: bigint;
}>;
type UseGetTransactionCostReturn = {
    data?: bigint;
    error: unknown;
    isPending: boolean;
    isSuccess: boolean;
    isError: boolean;
    getTransactionCost: UseGetTransactionCostMutate;
    getTransactionCostAsync: UseGetTransactionCostMutateAsync;
};
/**
 * A custom hook for getting transaction costs.
 *
 * This hook provides functionality to get gas costs for transactions using the smart account client.
 * It can handle both single transactions and batched transactions.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useGetTransactionCost } from "@/hooks/useGetTransactionCost";
 * import { parseEther, type Address } from "viem";
 *
 * export const TransactionCost = () => {
 *   const { getTransactionCost, getTransactionCostAsync, isPending, isError, error, isSuccess, data } = useGetTransactionCost();
 *
 *   const handleGetCost = async () => {
 *     try {
 *       // Example of getting cost for a single transaction
 *       const singleTxCost = await getTransactionCostAsync({
 *         transactions: {
 *           to: "0x..." as Address,
 *           value: parseEther("0.1"),
 *           data: "0x",
 *         }
 *       });
 *       console.log("Transaction cost:", singleTxCost.totalGasCost);
 *
 *       // Example of getting cost for multiple transactions
 *       const batchTxCost = await getTransactionCostAsync({
 *         transactions: [
 *           {
 *             to: "0x..." as Address,
 *             value: parseEther("0.1"),
 *             data: "0x",
 *           },
 *           {
 *             to: "0x..." as Address,
 *             value: parseEther("0.2"),
 *             data: "0x",
 *           }
 *         ]
 *       });
 *       console.log("Batch transaction cost:", batchTxCost.totalGasCost);
 *     } catch (error) {
 *       console.error("Error getting transaction cost:", error);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={handleGetCost} disabled={isPending}>
 *         Get Transaction Cost
 *       </button>
 *       {isError && <p>Error: {(error as Error).message}</p>}
 *       {isSuccess && <p>Transaction cost: {data?.toString()} wei</p>}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `data`: The total transaction cost in wei (as bigint)
 * - `error`: Any error that occurred during cost calculation
 * - `isPending`: Whether the calculation is in progress
 * - `isSuccess`: Whether the calculation was successful
 * - `isError`: Whether an error occurred
 * - `getTransactionCost`: A function to trigger cost calculation without waiting for the result
 * - `getTransactionCostAsync`: A function to trigger cost calculation and wait for the result
 */
declare const useGetTransactionCost: (mutationProps?: MutationOptionsWithoutMutationFn) => UseGetTransactionCostReturn;

/**
 * Type for the estimateGas function.
 * This function doesn't return a promise, suitable for fire-and-forget usage.
 */
type EstimateGasMutate = (variables: EstimateUserOperationGasParameters) => void;
/**
 * Type for the estimateGasAsync function.
 * This function returns a promise that resolves to the detailed gas estimation.
 */
type EstimateGasMutateAsync = (variables: EstimateUserOperationGasParameters) => Promise<EstimateUserOperationGasReturnType>;
type UseEstimateGasReturn = {
    data?: EstimateUserOperationGasReturnType;
    error: unknown;
    isPending: boolean;
    isSuccess: boolean;
    isError: boolean;
    estimateGas: EstimateGasMutate;
    estimateGasAsync: EstimateGasMutateAsync;
};
/**
 * A custom hook for estimating detailed gas parameters for transactions.
 *
 * This hook provides functionality to estimate various gas parameters for transactions
 * using the smart account client. It can handle both single transactions and batched transactions.
 *
 * @param mutationProps Optional mutation properties from @tanstack/react-query
 *
 * @example
 * ```tsx
 * import { useEstimateGas } from "@/hooks/useEstimateGas";
 * import { parseEther, type Address } from "viem";
 *
 * export const GasEstimator = () => {
 *   const { estimateGas, estimateGasAsync, isPending, isError, error, isSuccess, data } = useEstimateGas();
 *
 *   const handleEstimateGas = async () => {
 *     try {
 *       // Example of estimating gas for a single transaction
 *       const singleTxEstimate = await estimateGasAsync({
 *         transactions: {
 *           to: "0x..." as Address,
 *           value: parseEther("0.1"),
 *           data: "0x",
 *         }
 *       });
 *       console.log("Gas limits:", {
 *         callGas: singleTxEstimate.callGasLimit.toString(),
 *         verificationGas: singleTxEstimate.verificationGasLimit.toString(),
 *         preVerificationGas: singleTxEstimate.preVerificationGas.toString(),
 *       });
 *
 *       // Example of estimating gas for multiple transactions
 *       const batchTxEstimate = await estimateGasAsync({
 *         transactions: [
 *           {
 *             to: "0x..." as Address,
 *             value: parseEther("0.1"),
 *             data: "0x",
 *           },
 *           {
 *             to: "0x..." as Address,
 *             value: parseEther("0.2"),
 *             data: "0x",
 *           }
 *         ]
 *       });
 *       console.log("Batch transaction gas parameters:", batchTxEstimate);
 *     } catch (error) {
 *       console.error("Error estimating gas:", error);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={handleEstimateGas} disabled={isPending}>
 *         Estimate Gas Parameters
 *       </button>
 *       {isError && <p>Error: {(error as Error).message}</p>}
 *       {isSuccess && data && (
 *         <div>
 *           <p>Call Gas Limit: {data.callGasLimit.toString()}</p>
 *           <p>Verification Gas Limit: {data.verificationGasLimit.toString()}</p>
 *           <p>Pre-verification Gas: {data.preVerificationGas.toString()}</p>
 *           <p>Max Fee Per Gas: {data.maxFeePerGas.toString()}</p>
 *           <p>Max Priority Fee Per Gas: {data.maxPriorityFeePerGas.toString()}</p>
 *         </div>
 *       )}
 *     </div>
 *   );
 * };
 * ```
 *
 * @returns An object containing:
 * - `data`: Detailed gas estimation parameters including various gas limits and fees
 * - `error`: Any error that occurred during estimation
 * - `isPending`: Whether the estimation is in progress
 * - `isSuccess`: Whether the estimation was successful
 * - `isError`: Whether an error occurred
 * - `estimateGas`: A function to trigger gas estimation without waiting for the result
 * - `estimateGasAsync`: A function to trigger gas estimation and wait for the result
 */
declare const useEstimateGas: (mutationProps?: MutationOptionsWithoutMutationFn) => UseEstimateGasReturn;

type GrantPermissionMutate = (variables: GrantPermissionParameters<ComethSafeSmartAccount>) => void;
type GrantPermissionMutateAsync = (variables: GrantPermissionParameters<ComethSafeSmartAccount>) => Promise<GrantPermissionMutateResponse>;
type GrantPermissionMutateResponse = {
    txHash: Hash;
    createSessionsResponse: GrantPermissionResponse;
};
type UseGrantPermissionReturn = QueryResultType<GrantPermissionMutateResponse> & {
    grantPermission: GrantPermissionMutate;
    grantPermissionAsync: GrantPermissionMutateAsync;
};
declare function useGrantPermission(mutationProps?: MutationOptionsWithoutMutationFn): UseGrantPermissionReturn;

type SendPermissionMutate = (variables: UsePermissionParameters) => void;
type SendPermissionMutateAsync = (variables: UsePermissionParameters) => Promise<Hash>;
type UseSendPermissionReturn = QueryResultType<Hash> & {
    sendPermission: SendPermissionMutate;
    sendPermissionAsync: SendPermissionMutateAsync;
};
declare function useSendPermission({ sessionData, privateKey, mutationProps, }: {
    sessionData: GrantPermissionResponse;
    privateKey: Hex;
    mutationProps?: MutationOptionsWithoutMutationFn;
}): UseSendPermissionReturn;

type UseSessionKeySignerReturn = QueryResultType<SafeSigner<"safeSmartSessionsSigner">>;
declare function useSessionKeySigner({ sessionData, privateKey, }: {
    sessionData: GrantPermissionResponse;
    privateKey: Hex;
}): UseSessionKeySignerReturn;

type Session = {
    sessionValidator: Address;
    sessionValidatorInitData: Hex;
    salt: Hex;
    userOpPolicies: PolicyData[];
    erc7739Policies: ERC7739Data;
    actions: ActionData[];
    permitERC4337Paymaster: boolean;
    chainId: bigint;
};
type PolicyData = {
    policy: Address;
    initData: Hex;
};
type ERC7739Data = {
    allowedERC7739Content: ERC7739Context[];
    erc1271Policies: PolicyData[];
};
type ERC7739Context = {
    appDomainSeparator: Hex;
    contentName: string[];
};
type ActionData = {
    actionTargetSelector: Hex;
    actionTarget: Address;
    actionPolicies: PolicyData[];
};

type Execution = {
    target: Address;
    value: bigint;
    callData: Hex;
};

type PreparePermissionResponse = {
    /** Array of permission IDs for the created sessions. */
    permissionIds: Hex[];
    /** The execution object for the action. */
    action: Execution;
    /** The sessions that were created. */
    sessions: Session[];
};

declare const createSessionSmartAccountClient: (apiKey: string, smartAccountClient: ContextComethSmartAccountClient, sessionKeySigner: SafeSigner<"safeSmartSessionsSigner">) => Promise<viem.Client<viem.HttpTransport, viem.Chain, _cometh_connect_sdk_4337.ComethSafeSmartAccount, viem.BundlerRpcSchema, {
    grantPermission: (args: _cometh_connect_sdk_4337.GrantPermissionParameters<_cometh_connect_sdk_4337.ComethSafeSmartAccount>) => Promise<_cometh_connect_sdk_4337.GrantPermissionResponse>;
    preparePermission: (args: {
        sessionRequestedInfo: _cometh_connect_sdk_4337.CreateSessionDataParams[];
        maxFeePerGas?: bigint;
        maxPriorityFeePerGas?: bigint;
        nonce?: bigint;
        publicClient?: {
            account: undefined;
            batch?: {
                multicall?: boolean | viem.Prettify<viem.MulticallBatchOptions> | undefined;
            } | undefined;
            cacheTime: number;
            ccipRead?: false | {
                request?: (parameters: viem.CcipRequestParameters) => Promise<viem__types_utils_ccip.CcipRequestReturnType>;
            } | undefined;
            chain: viem.Chain | undefined;
            key: string;
            name: string;
            pollingInterval: number;
            request: viem.EIP1193RequestFn<viem.PublicRpcSchema>;
            transport: viem.TransportConfig<string, viem.EIP1193RequestFn> & Record<string, any>;
            type: string;
            uid: string;
            call: (parameters: viem.CallParameters<viem.Chain | undefined>) => Promise<viem.CallReturnType>;
            createAccessList: (parameters: viem_actions.CreateAccessListParameters<viem.Chain | undefined>) => Promise<{
                accessList: viem.AccessList;
                gasUsed: bigint;
            }>;
            createBlockFilter: () => Promise<viem.CreateBlockFilterReturnType>;
            createContractEventFilter: <const abi extends viem.Abi | readonly unknown[], eventName extends viem.ContractEventName<abi> | undefined, args extends viem.MaybeExtractEventArgsFromAbi<abi, eventName> | undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.CreateContractEventFilterParameters<abi, eventName, args, strict, fromBlock, toBlock>) => Promise<viem.CreateContractEventFilterReturnType<abi, eventName, args, strict, fromBlock, toBlock>>;
            createEventFilter: <const abiEvent extends viem.AbiEvent | undefined = undefined, const abiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = abiEvent extends viem.AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, _EventName extends string | undefined = viem.MaybeAbiEventName<abiEvent>, _Args extends viem.MaybeExtractEventArgsFromAbi<abiEvents, _EventName> | undefined = undefined>(args?: viem.CreateEventFilterParameters<abiEvent, abiEvents, strict, fromBlock, toBlock, _EventName, _Args> | undefined) => Promise<viem.Filter<"event", abiEvents, _EventName, _Args, strict, fromBlock, toBlock> extends infer T ? { [K in keyof T]: viem.Filter<"event", abiEvents, _EventName, _Args, strict, fromBlock, toBlock>[K]; } : never>;
            createPendingTransactionFilter: () => Promise<viem.CreatePendingTransactionFilterReturnType>;
            estimateContractGas: <chain extends viem.Chain | undefined, const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "nonpayable" | "payable">, args extends viem.ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(args: viem.EstimateContractGasParameters<abi, functionName, args, chain>) => Promise<viem.EstimateContractGasReturnType>;
            estimateGas: (args: viem.EstimateGasParameters<viem.Chain | undefined>) => Promise<viem.EstimateGasReturnType>;
            getBalance: (args: viem.GetBalanceParameters) => Promise<viem.GetBalanceReturnType>;
            getBlobBaseFee: () => Promise<viem.GetBlobBaseFeeReturnType>;
            getBlock: <includeTransactions extends boolean = false, blockTag extends viem.BlockTag = "latest">(args?: viem.GetBlockParameters<includeTransactions, blockTag> | undefined) => Promise<{
                number: blockTag extends "pending" ? null : bigint;
                nonce: blockTag extends "pending" ? null : `0x${string}`;
                hash: blockTag extends "pending" ? null : `0x${string}`;
                logsBloom: blockTag extends "pending" ? null : `0x${string}`;
                baseFeePerGas: bigint | null;
                blobGasUsed: bigint;
                difficulty: bigint;
                excessBlobGas: bigint;
                extraData: viem.Hex;
                gasLimit: bigint;
                gasUsed: bigint;
                miner: viem.Address;
                mixHash: viem.Hash;
                parentBeaconBlockRoot?: `0x${string}` | undefined;
                parentHash: viem.Hash;
                receiptsRoot: viem.Hex;
                sealFields: viem.Hex[];
                sha3Uncles: viem.Hash;
                size: bigint;
                stateRoot: viem.Hash;
                timestamp: bigint;
                totalDifficulty: bigint | null;
                transactionsRoot: viem.Hash;
                uncles: viem.Hash[];
                withdrawals?: viem.Withdrawal[] | undefined | undefined;
                withdrawalsRoot?: `0x${string}` | undefined;
                transactions: includeTransactions extends true ? ({
                    type: "legacy";
                    r: viem.Hex;
                    s: viem.Hex;
                    v: bigint;
                    yParity?: undefined | undefined;
                    from: viem.Address;
                    gas: bigint;
                    nonce: number;
                    to: viem.Address | null;
                    value: bigint;
                    blobVersionedHashes?: undefined | undefined;
                    gasPrice: bigint;
                    maxFeePerBlobGas?: undefined | undefined;
                    maxFeePerGas?: undefined | undefined;
                    maxPriorityFeePerGas?: undefined | undefined;
                    chainId?: number | undefined;
                    accessList?: undefined | undefined;
                    authorizationList?: undefined | undefined;
                    hash: viem.Hash;
                    input: viem.Hex;
                    typeHex: viem.Hex | null;
                    blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
                    blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
                    transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
                } | {
                    type: "eip2930";
                    r: viem.Hex;
                    s: viem.Hex;
                    v: bigint;
                    yParity: number;
                    from: viem.Address;
                    gas: bigint;
                    nonce: number;
                    to: viem.Address | null;
                    value: bigint;
                    blobVersionedHashes?: undefined | undefined;
                    gasPrice: bigint;
                    maxFeePerBlobGas?: undefined | undefined;
                    maxFeePerGas?: undefined | undefined;
                    maxPriorityFeePerGas?: undefined | undefined;
                    chainId: number;
                    accessList: viem.AccessList;
                    authorizationList?: undefined | undefined;
                    hash: viem.Hash;
                    input: viem.Hex;
                    typeHex: viem.Hex | null;
                    blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
                    blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
                    transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
                } | {
                    type: "eip1559";
                    r: viem.Hex;
                    s: viem.Hex;
                    v: bigint;
                    yParity: number;
                    from: viem.Address;
                    gas: bigint;
                    nonce: number;
                    to: viem.Address | null;
                    value: bigint;
                    blobVersionedHashes?: undefined | undefined;
                    gasPrice?: undefined | undefined;
                    maxFeePerBlobGas?: undefined | undefined;
                    maxFeePerGas: bigint;
                    maxPriorityFeePerGas: bigint;
                    chainId: number;
                    accessList: viem.AccessList;
                    authorizationList?: undefined | undefined;
                    hash: viem.Hash;
                    input: viem.Hex;
                    typeHex: viem.Hex | null;
                    blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
                    blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
                    transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
                } | {
                    type: "eip4844";
                    r: viem.Hex;
                    s: viem.Hex;
                    v: bigint;
                    yParity: number;
                    from: viem.Address;
                    gas: bigint;
                    nonce: number;
                    to: viem.Address | null;
                    value: bigint;
                    blobVersionedHashes: readonly viem.Hex[];
                    gasPrice?: undefined | undefined;
                    maxFeePerBlobGas: bigint;
                    maxFeePerGas: bigint;
                    maxPriorityFeePerGas: bigint;
                    chainId: number;
                    accessList: viem.AccessList;
                    authorizationList?: undefined | undefined;
                    hash: viem.Hash;
                    input: viem.Hex;
                    typeHex: viem.Hex | null;
                    blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
                    blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
                    transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
                } | {
                    type: "eip7702";
                    r: viem.Hex;
                    s: viem.Hex;
                    v: bigint;
                    yParity: number;
                    from: viem.Address;
                    gas: bigint;
                    nonce: number;
                    to: viem.Address | null;
                    value: bigint;
                    blobVersionedHashes?: undefined | undefined;
                    gasPrice?: undefined | undefined;
                    maxFeePerBlobGas?: undefined | undefined;
                    maxFeePerGas: bigint;
                    maxPriorityFeePerGas: bigint;
                    chainId: number;
                    accessList: viem.AccessList;
                    authorizationList: viem_experimental.SignedAuthorizationList;
                    hash: viem.Hash;
                    input: viem.Hex;
                    typeHex: viem.Hex | null;
                    blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
                    blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
                    transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_14 ? T_14 extends (blockTag extends "pending" ? true : false) ? T_14 extends true ? null : number : never : never;
                })[] : `0x${string}`[];
            }>;
            getBlockNumber: (args?: viem.GetBlockNumberParameters | undefined) => Promise<viem.GetBlockNumberReturnType>;
            getBlockTransactionCount: (args?: viem.GetBlockTransactionCountParameters | undefined) => Promise<viem.GetBlockTransactionCountReturnType>;
            getBytecode: (args: viem.GetBytecodeParameters) => Promise<viem.GetBytecodeReturnType>;
            getChainId: () => Promise<viem.GetChainIdReturnType>;
            getCode: (args: viem.GetBytecodeParameters) => Promise<viem.GetBytecodeReturnType>;
            getContractEvents: <const abi extends viem.Abi | readonly unknown[], eventName extends viem.ContractEventName<abi> | undefined = undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetContractEventsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<viem.GetContractEventsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
            getEip712Domain: (args: viem.GetEip712DomainParameters) => Promise<viem.GetEip712DomainReturnType>;
            getEnsAddress: (args: {
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                coinType?: number | undefined | undefined;
                gatewayUrls?: string[] | undefined | undefined;
                name: string;
                strict?: boolean | undefined | undefined;
                universalResolverAddress?: `0x${string}` | undefined;
            }) => Promise<viem.GetEnsAddressReturnType>;
            getEnsAvatar: (args: {
                name: string;
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                gatewayUrls?: string[] | undefined | undefined;
                strict?: boolean | undefined | undefined;
                universalResolverAddress?: `0x${string}` | undefined;
                assetGatewayUrls?: viem.AssetGatewayUrls | undefined;
            }) => Promise<viem.GetEnsAvatarReturnType>;
            getEnsName: (args: {
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                address: viem.Address;
                gatewayUrls?: string[] | undefined | undefined;
                strict?: boolean | undefined | undefined;
                universalResolverAddress?: `0x${string}` | undefined;
            }) => Promise<viem.GetEnsNameReturnType>;
            getEnsResolver: (args: {
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                name: string;
                universalResolverAddress?: `0x${string}` | undefined;
            }) => Promise<viem.GetEnsResolverReturnType>;
            getEnsText: (args: {
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                name: string;
                gatewayUrls?: string[] | undefined | undefined;
                key: string;
                strict?: boolean | undefined | undefined;
                universalResolverAddress?: `0x${string}` | undefined;
            }) => Promise<viem.GetEnsTextReturnType>;
            getFeeHistory: (args: viem.GetFeeHistoryParameters) => Promise<viem.GetFeeHistoryReturnType>;
            estimateFeesPerGas: <chainOverride extends viem.Chain | undefined = undefined, type extends viem.FeeValuesType = "eip1559">(args?: viem.EstimateFeesPerGasParameters<viem.Chain | undefined, chainOverride, type> | undefined) => Promise<viem.EstimateFeesPerGasReturnType<type>>;
            getFilterChanges: <filterType extends viem.FilterType, const abi extends viem.Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetFilterChangesParameters<filterType, abi, eventName, strict, fromBlock, toBlock>) => Promise<viem.GetFilterChangesReturnType<filterType, abi, eventName, strict, fromBlock, toBlock, abi extends viem.Abi ? eventName extends string ? Extract<Extract<abi[number], {
                type: "event";
            }>, {
                name: eventName;
            }> : undefined : undefined, (fromBlock extends "pending" ? true : false) | (toBlock extends "pending" ? true : false)>>;
            getFilterLogs: <const abi extends viem.Abi | readonly unknown[] | undefined, eventName extends string | undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args: viem.GetFilterLogsParameters<abi, eventName, strict, fromBlock, toBlock>) => Promise<viem.GetFilterLogsReturnType<abi, eventName, strict, fromBlock, toBlock>>;
            getGasPrice: () => Promise<viem.GetGasPriceReturnType>;
            getLogs: <const abiEvent extends viem.AbiEvent | undefined = undefined, const abiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = abiEvent extends viem.AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined, fromBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined, toBlock extends viem.BlockNumber | viem.BlockTag | undefined = undefined>(args?: viem.GetLogsParameters<abiEvent, abiEvents, strict, fromBlock, toBlock> | undefined) => Promise<viem.GetLogsReturnType<abiEvent, abiEvents, strict, fromBlock, toBlock>>;
            getProof: (args: viem.GetProofParameters) => Promise<viem.GetProofReturnType>;
            estimateMaxPriorityFeePerGas: <chainOverride extends viem.Chain | undefined = undefined>(args?: {
                chain: chainOverride | null;
            } | undefined) => Promise<viem.EstimateMaxPriorityFeePerGasReturnType>;
            getStorageAt: (args: viem.GetStorageAtParameters) => Promise<viem.GetStorageAtReturnType>;
            getTransaction: <blockTag extends viem.BlockTag = "latest">(args: viem.GetTransactionParameters<blockTag>) => Promise<{
                type: "legacy";
                r: viem.Hex;
                s: viem.Hex;
                v: bigint;
                yParity?: undefined | undefined;
                from: viem.Address;
                gas: bigint;
                nonce: number;
                to: viem.Address | null;
                value: bigint;
                blobVersionedHashes?: undefined | undefined;
                gasPrice: bigint;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
                chainId?: number | undefined;
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                hash: viem.Hash;
                input: viem.Hex;
                typeHex: viem.Hex | null;
                blockNumber: (blockTag extends "pending" ? true : false) extends infer T ? T extends (blockTag extends "pending" ? true : false) ? T extends true ? null : bigint : never : never;
                blockHash: (blockTag extends "pending" ? true : false) extends infer T_1 ? T_1 extends (blockTag extends "pending" ? true : false) ? T_1 extends true ? null : `0x${string}` : never : never;
                transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_2 ? T_2 extends (blockTag extends "pending" ? true : false) ? T_2 extends true ? null : number : never : never;
            } | {
                type: "eip2930";
                r: viem.Hex;
                s: viem.Hex;
                v: bigint;
                yParity: number;
                from: viem.Address;
                gas: bigint;
                nonce: number;
                to: viem.Address | null;
                value: bigint;
                blobVersionedHashes?: undefined | undefined;
                gasPrice: bigint;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
                chainId: number;
                accessList: viem.AccessList;
                authorizationList?: undefined | undefined;
                hash: viem.Hash;
                input: viem.Hex;
                typeHex: viem.Hex | null;
                blockNumber: (blockTag extends "pending" ? true : false) extends infer T_3 ? T_3 extends (blockTag extends "pending" ? true : false) ? T_3 extends true ? null : bigint : never : never;
                blockHash: (blockTag extends "pending" ? true : false) extends infer T_4 ? T_4 extends (blockTag extends "pending" ? true : false) ? T_4 extends true ? null : `0x${string}` : never : never;
                transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_5 ? T_5 extends (blockTag extends "pending" ? true : false) ? T_5 extends true ? null : number : never : never;
            } | {
                type: "eip1559";
                r: viem.Hex;
                s: viem.Hex;
                v: bigint;
                yParity: number;
                from: viem.Address;
                gas: bigint;
                nonce: number;
                to: viem.Address | null;
                value: bigint;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas: bigint;
                maxPriorityFeePerGas: bigint;
                chainId: number;
                accessList: viem.AccessList;
                authorizationList?: undefined | undefined;
                hash: viem.Hash;
                input: viem.Hex;
                typeHex: viem.Hex | null;
                blockNumber: (blockTag extends "pending" ? true : false) extends infer T_6 ? T_6 extends (blockTag extends "pending" ? true : false) ? T_6 extends true ? null : bigint : never : never;
                blockHash: (blockTag extends "pending" ? true : false) extends infer T_7 ? T_7 extends (blockTag extends "pending" ? true : false) ? T_7 extends true ? null : `0x${string}` : never : never;
                transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_8 ? T_8 extends (blockTag extends "pending" ? true : false) ? T_8 extends true ? null : number : never : never;
            } | {
                type: "eip4844";
                r: viem.Hex;
                s: viem.Hex;
                v: bigint;
                yParity: number;
                from: viem.Address;
                gas: bigint;
                nonce: number;
                to: viem.Address | null;
                value: bigint;
                blobVersionedHashes: readonly viem.Hex[];
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas: bigint;
                maxFeePerGas: bigint;
                maxPriorityFeePerGas: bigint;
                chainId: number;
                accessList: viem.AccessList;
                authorizationList?: undefined | undefined;
                hash: viem.Hash;
                input: viem.Hex;
                typeHex: viem.Hex | null;
                blockNumber: (blockTag extends "pending" ? true : false) extends infer T_9 ? T_9 extends (blockTag extends "pending" ? true : false) ? T_9 extends true ? null : bigint : never : never;
                blockHash: (blockTag extends "pending" ? true : false) extends infer T_10 ? T_10 extends (blockTag extends "pending" ? true : false) ? T_10 extends true ? null : `0x${string}` : never : never;
                transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_11 ? T_11 extends (blockTag extends "pending" ? true : false) ? T_11 extends true ? null : number : never : never;
            } | {
                type: "eip7702";
                r: viem.Hex;
                s: viem.Hex;
                v: bigint;
                yParity: number;
                from: viem.Address;
                gas: bigint;
                nonce: number;
                to: viem.Address | null;
                value: bigint;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas: bigint;
                maxPriorityFeePerGas: bigint;
                chainId: number;
                accessList: viem.AccessList;
                authorizationList: viem_experimental.SignedAuthorizationList;
                hash: viem.Hash;
                input: viem.Hex;
                typeHex: viem.Hex | null;
                blockNumber: (blockTag extends "pending" ? true : false) extends infer T_12 ? T_12 extends (blockTag extends "pending" ? true : false) ? T_12 extends true ? null : bigint : never : never;
                blockHash: (blockTag extends "pending" ? true : false) extends infer T_13 ? T_13 extends (blockTag extends "pending" ? true : false) ? T_13 extends true ? null : `0x${string}` : never : never;
                transactionIndex: (blockTag extends "pending" ? true : false) extends infer T_14 ? T_14 extends (blockTag extends "pending" ? true : false) ? T_14 extends true ? null : number : never : never;
            }>;
            getTransactionConfirmations: (args: viem.GetTransactionConfirmationsParameters<viem.Chain | undefined>) => Promise<viem.GetTransactionConfirmationsReturnType>;
            getTransactionCount: (args: viem.GetTransactionCountParameters) => Promise<viem.GetTransactionCountReturnType>;
            getTransactionReceipt: (args: viem.GetTransactionReceiptParameters) => Promise<viem.TransactionReceipt>;
            multicall: <const contracts extends readonly unknown[], allowFailure extends boolean = true>(args: viem.MulticallParameters<contracts, allowFailure>) => Promise<viem.MulticallReturnType<contracts, allowFailure>>;
            prepareTransactionRequest: <const request extends viem.PrepareTransactionRequestRequest<viem.Chain | undefined, chainOverride>, chainOverride extends viem.Chain | undefined = undefined, accountOverride extends viem.Account | viem.Address | undefined = undefined>(args: viem.PrepareTransactionRequestParameters<viem.Chain | undefined, viem.Account | undefined, chainOverride, accountOverride, request>) => Promise<viem.UnionRequiredBy<Extract<viem.UnionOmit<viem.ExtractChainFormatterParameters<viem.DeriveChain<viem.Chain | undefined, chainOverride>, "transactionRequest", viem.TransactionRequest>, "from"> & (viem.DeriveChain<viem.Chain | undefined, chainOverride> extends infer T_14 ? T_14 extends viem.DeriveChain<viem.Chain | undefined, chainOverride> ? T_14 extends viem.Chain ? {
                chain: T_14;
            } : {
                chain?: undefined;
            } : never : never) & (viem.DeriveAccount<viem.Account | undefined, accountOverride> extends infer T_15 ? T_15 extends viem.DeriveAccount<viem.Account | undefined, accountOverride> ? T_15 extends viem.Account ? {
                account: T_15;
                from: viem.Address;
            } : {
                account?: undefined;
                from?: undefined;
            } : never : never), viem.IsNever<((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_16 ? T_16 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_16 extends "legacy" ? viem.TransactionRequestLegacy : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_17 ? T_17 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_17 extends "eip1559" ? viem.TransactionRequestEIP1559 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_18 ? T_18 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_18 extends "eip2930" ? viem.TransactionRequestEIP2930 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_19 ? T_19 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_19 extends "eip4844" ? viem.TransactionRequestEIP4844 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_20 ? T_20 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_20 extends "eip7702" ? viem.TransactionRequestEIP7702 : never : never : never)> extends true ? unknown : viem.ExactPartial<((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_21 ? T_21 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_21 extends "legacy" ? viem.TransactionRequestLegacy : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_22 ? T_22 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_22 extends "eip1559" ? viem.TransactionRequestEIP1559 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_23 ? T_23 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_23 extends "eip2930" ? viem.TransactionRequestEIP2930 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_24 ? T_24 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_24 extends "eip4844" ? viem.TransactionRequestEIP4844 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_25 ? T_25 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_25 extends "eip7702" ? viem.TransactionRequestEIP7702 : never : never : never)>> & {
                chainId?: number | undefined;
            }, (request["parameters"] extends readonly viem.PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "fees") extends infer T_26 ? T_26 extends (request["parameters"] extends readonly viem.PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "fees") ? T_26 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_26 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">) extends infer T ? { [K in keyof T]: (viem.UnionRequiredBy<Extract<viem.UnionOmit<viem.ExtractChainFormatterParameters<viem.DeriveChain<viem.Chain | undefined, chainOverride>, "transactionRequest", viem.TransactionRequest>, "from"> & (viem.DeriveChain<viem.Chain | undefined, chainOverride> extends infer T_1 ? T_1 extends viem.DeriveChain<viem.Chain | undefined, chainOverride> ? T_1 extends viem.Chain ? {
                chain: T_1;
            } : {
                chain?: undefined;
            } : never : never) & (viem.DeriveAccount<viem.Account | undefined, accountOverride> extends infer T_2 ? T_2 extends viem.DeriveAccount<viem.Account | undefined, accountOverride> ? T_2 extends viem.Account ? {
                account: T_2;
                from: viem.Address;
            } : {
                account?: undefined;
                from?: undefined;
            } : never : never), viem.IsNever<((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_3 ? T_3 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_3 extends "legacy" ? viem.TransactionRequestLegacy : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_4 ? T_4 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_4 extends "eip1559" ? viem.TransactionRequestEIP1559 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_5 ? T_5 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_5 extends "eip2930" ? viem.TransactionRequestEIP2930 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_6 ? T_6 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_6 extends "eip4844" ? viem.TransactionRequestEIP4844 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_7 ? T_7 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_7 extends "eip7702" ? viem.TransactionRequestEIP7702 : never : never : never)> extends true ? unknown : viem.ExactPartial<((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_8 ? T_8 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_8 extends "legacy" ? viem.TransactionRequestLegacy : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_9 ? T_9 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_9 extends "eip1559" ? viem.TransactionRequestEIP1559 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_10 ? T_10 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_10 extends "eip2930" ? viem.TransactionRequestEIP2930 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_11 ? T_11 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_11 extends "eip4844" ? viem.TransactionRequestEIP4844 : never : never : never) | ((request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) extends infer T_12 ? T_12 extends (request["type"] extends string | undefined ? request["type"] : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)> extends "legacy" ? unknown : viem.GetTransactionType<request, (request extends {
                accessList?: undefined | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & viem.FeeValuesLegacy ? "legacy" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } & (viem.OneOf<{
                maxFeePerGas: viem.FeeValuesEIP1559["maxFeePerGas"];
            } | {
                maxPriorityFeePerGas: viem.FeeValuesEIP1559["maxPriorityFeePerGas"];
            }, viem.FeeValuesEIP1559> & {
                accessList?: viem.TransactionSerializableEIP2930["accessList"] | undefined;
            }) ? "eip1559" : never) | (request extends {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: bigint | undefined;
                sidecars?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: undefined | undefined;
                maxPriorityFeePerGas?: undefined | undefined;
            } & {
                accessList: viem.TransactionSerializableEIP2930["accessList"];
            } ? "eip2930" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: undefined | undefined;
                blobs?: readonly `0x${string}`[] | readonly viem.ByteArray[] | undefined;
                blobVersionedHashes?: readonly `0x${string}`[] | undefined;
                maxFeePerBlobGas?: bigint | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: false | readonly viem.BlobSidecar<`0x${string}`>[] | undefined;
            }) & (viem.ExactPartial<viem.FeeValuesEIP4844> & viem.OneOf<{
                blobs: viem.TransactionSerializableEIP4844["blobs"];
            } | {
                blobVersionedHashes: viem.TransactionSerializableEIP4844["blobVersionedHashes"];
            } | {
                sidecars: viem.TransactionSerializableEIP4844["sidecars"];
            }, viem.TransactionSerializableEIP4844>) ? "eip4844" : never) | (request extends ({
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            } | {
                accessList?: viem.AccessList | undefined;
                authorizationList?: viem_experimental.SignedAuthorizationList | undefined;
                blobs?: undefined | undefined;
                blobVersionedHashes?: undefined | undefined;
                gasPrice?: undefined | undefined;
                maxFeePerBlobGas?: undefined | undefined;
                maxFeePerGas?: bigint | undefined;
                maxPriorityFeePerGas?: bigint | undefined;
                sidecars?: undefined | undefined;
            }) & {
                authorizationList: viem.TransactionSerializableEIP7702["authorizationList"];
            } ? "eip7702" : never) | (request["type"] extends string | undefined ? Extract<request["type"], string> : never)>) ? T_12 extends "eip7702" ? viem.TransactionRequestEIP7702 : never : never : never)>> & {
                chainId?: number | undefined;
            }, (request["parameters"] extends readonly viem.PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "fees") extends infer T_13 ? T_13 extends (request["parameters"] extends readonly viem.PrepareTransactionRequestParameterType[] ? request["parameters"][number] : "type" | "gas" | "nonce" | "blobVersionedHashes" | "chainId" | "fees") ? T_13 extends "fees" ? "gasPrice" | "maxFeePerGas" | "maxPriorityFeePerGas" : T_13 : never : never> & (unknown extends request["kzg"] ? {} : Pick<request, "kzg">))[K]; } : never>;
            readContract: <const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "view" | "pure">, const args extends viem.ContractFunctionArgs<abi, "view" | "pure", functionName>>(args: viem.ReadContractParameters<abi, functionName, args>) => Promise<viem.ContractFunctionReturnType<abi, "view" | "pure", functionName, args>>;
            sendRawTransaction: (args: viem.SendRawTransactionParameters) => Promise<viem.SendRawTransactionReturnType>;
            simulate: <const calls extends readonly unknown[]>(args: viem_actions.SimulateParameters<calls>) => Promise<viem_actions.SimulateReturnType<calls>>;
            simulateContract: <const abi extends viem.Abi | readonly unknown[], functionName extends viem.ContractFunctionName<abi, "nonpayable" | "payable">, const args_1 extends viem.ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>, chainOverride extends viem.Chain | undefined, accountOverride extends viem.Account | viem.Address | undefined = undefined>(args: viem.SimulateContractParameters<abi, functionName, args_1, viem.Chain | undefined, chainOverride, accountOverride>) => Promise<viem.SimulateContractReturnType<abi, functionName, args_1, viem.Chain | undefined, viem.Account | undefined, chainOverride, accountOverride>>;
            verifyMessage: (args: {
                address: viem.Address;
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                factory?: `0x${string}` | undefined;
                factoryData?: `0x${string}` | undefined;
                signature: viem.Hex | viem.ByteArray | viem.Signature;
                universalSignatureVerifierAddress?: `0x${string}` | undefined;
                message: viem.SignableMessage;
            }) => Promise<viem.VerifyMessageActionReturnType>;
            verifySiweMessage: (args: {
                blockNumber?: bigint | undefined | undefined;
                blockTag?: viem.BlockTag | undefined;
                address?: `0x${string}` | undefined;
                nonce?: string | undefined | undefined;
                domain?: string | undefined | undefined;
                scheme?: string | undefined | undefined;
                time?: Date | undefined;
                message: string;
                signature: viem.Hex;
            }) => Promise<viem__types_actions_siwe_verifySiweMessage.VerifySiweMessageReturnType>;
            verifyTypedData: (args: viem.VerifyTypedDataActionParameters) => Promise<viem.VerifyTypedDataActionReturnType>;
            uninstallFilter: (args: viem.UninstallFilterParameters) => Promise<viem.UninstallFilterReturnType>;
            waitForTransactionReceipt: (args: viem.WaitForTransactionReceiptParameters<viem.Chain | undefined>) => Promise<viem.TransactionReceipt>;
            watchBlockNumber: (args: viem.WatchBlockNumberParameters) => viem.WatchBlockNumberReturnType;
            watchBlocks: <includeTransactions extends boolean = false, blockTag extends viem.BlockTag = "latest">(args: viem.WatchBlocksParameters<viem.Transport, viem.Chain | undefined, includeTransactions, blockTag>) => viem.WatchBlocksReturnType;
            watchContractEvent: <const abi extends viem.Abi | readonly unknown[], eventName extends viem.ContractEventName<abi>, strict extends boolean | undefined = undefined>(args: viem.WatchContractEventParameters<abi, eventName, strict, viem.Transport>) => viem.WatchContractEventReturnType;
            watchEvent: <const abiEvent extends viem.AbiEvent | undefined = undefined, const abiEvents extends readonly viem.AbiEvent[] | readonly unknown[] | undefined = abiEvent extends viem.AbiEvent ? [abiEvent] : undefined, strict extends boolean | undefined = undefined>(args: viem.WatchEventParameters<abiEvent, abiEvents, strict, viem.Transport>) => viem.WatchEventReturnType;
            watchPendingTransactions: (args: viem.WatchPendingTransactionsParameters<viem.Transport>) => viem.WatchPendingTransactionsReturnType;
            extend: <const client extends {
                [x: string]: unknown;
                account?: undefined;
                batch?: undefined;
                cacheTime?: undefined;
                ccipRead?: undefined;
                chain?: undefined;
                key?: undefined;
                name?: undefined;
                pollingInterval?: undefined;
                request?: undefined;
                transport?: undefined;
                type?: undefined;
                uid?: undefined;
            } & viem.ExactPartial<Pick<viem.PublicActions<viem.Transport, viem.Chain | undefined, undefined>, "call" | "createContractEventFilter" | "createEventFilter" | "estimateContractGas" | "estimateGas" | "getBlock" | "getBlockNumber" | "getChainId" | "getContractEvents" | "getEnsText" | "getFilterChanges" | "getGasPrice" | "getLogs" | "getTransaction" | "getTransactionCount" | "getTransactionReceipt" | "prepareTransactionRequest" | "readContract" | "sendRawTransaction" | "simulateContract" | "uninstallFilter" | "watchBlockNumber" | "watchContractEvent"> & Pick<viem.WalletActions<viem.Chain | undefined, undefined>, "sendTransaction" | "writeContract">>>(fn: (client: viem.Client<viem.Transport, viem.Chain | undefined, undefined, viem.PublicRpcSchema, viem.PublicActions<viem.Transport, viem.Chain | undefined>>) => client) => viem.Client<viem.Transport, viem.Chain | undefined, undefined, viem.PublicRpcSchema, { [K in keyof client]: client[K]; } & viem.PublicActions<viem.Transport, viem.Chain | undefined>>;
        } | undefined;
        account?: _cometh_connect_sdk_4337.ComethSafeSmartAccount | undefined;
    }) => Promise<PreparePermissionResponse>;
    isPermissionInstalled: (args: {
        session: Session;
    }) => Promise<boolean>;
    trustAttesters: (args?: {
        attesters?: viem.Hex[];
        registryAddress?: viem.Hex;
        maxFeePerGas?: bigint;
        maxPriorityFeePerGas?: bigint;
        nonce?: bigint;
        account?: _cometh_connect_sdk_4337.ComethSafeSmartAccount | undefined;
        threshold?: number;
    } | undefined) => Promise<viem.Hash>;
    usePermission: (args: {
        actions: Execution[];
        maxFeePerGas?: bigint;
        maxPriorityFeePerGas?: bigint;
        verificationGasLimit?: bigint;
    }) => Promise<viem.Hash>;
} & viem__types_account_abstraction.BundlerActions<_cometh_connect_sdk_4337.ComethSafeSmartAccount> & {
    sendTransaction: <TChainOverride extends viem.Chain | undefined = undefined, accountOverride extends viem__types_account_abstraction.SmartAccount | undefined = undefined, calls extends readonly unknown[] = readonly unknown[]>(args: viem.SendTransactionParameters<viem.Chain, _cometh_connect_sdk_4337.ComethSafeSmartAccount, TChainOverride> | viem__types_account_abstraction.SendUserOperationParameters<_cometh_connect_sdk_4337.ComethSafeSmartAccount, accountOverride, calls>) => Promise<viem.Hash>;
    signMessage: (args: viem.SignMessageParameters<_cometh_connect_sdk_4337.ComethSafeSmartAccount>) => ReturnType<typeof permissionless_actions_smartAccount.signMessage>;
    signTypedData: <const TTypedData extends {
        [x: string]: readonly viem.TypedDataParameter[];
        [x: `string[${string}]`]: undefined;
        [x: `function[${string}]`]: undefined;
        [x: `address[${string}]`]: undefined;
        [x: `bool[${string}]`]: undefined;
        [x: `bytes[${string}]`]: undefined;
        [x: `bytes1[${string}]`]: undefined;
        [x: `bytes2[${string}]`]: undefined;
        [x: `bytes3[${string}]`]: undefined;
        [x: `bytes4[${string}]`]: undefined;
        [x: `bytes5[${string}]`]: undefined;
        [x: `bytes6[${string}]`]: undefined;
        [x: `bytes7[${string}]`]: undefined;
        [x: `bytes8[${string}]`]: undefined;
        [x: `bytes9[${string}]`]: undefined;
        [x: `bytes10[${string}]`]: undefined;
        [x: `bytes11[${string}]`]: undefined;
        [x: `bytes12[${string}]`]: undefined;
        [x: `bytes13[${string}]`]: undefined;
        [x: `bytes14[${string}]`]: undefined;
        [x: `bytes15[${string}]`]: undefined;
        [x: `bytes16[${string}]`]: undefined;
        [x: `bytes17[${string}]`]: undefined;
        [x: `bytes18[${string}]`]: undefined;
        [x: `bytes19[${string}]`]: undefined;
        [x: `bytes20[${string}]`]: undefined;
        [x: `bytes21[${string}]`]: undefined;
        [x: `bytes22[${string}]`]: undefined;
        [x: `bytes23[${string}]`]: undefined;
        [x: `bytes24[${string}]`]: undefined;
        [x: `bytes25[${string}]`]: undefined;
        [x: `bytes26[${string}]`]: undefined;
        [x: `bytes27[${string}]`]: undefined;
        [x: `bytes28[${string}]`]: undefined;
        [x: `bytes29[${string}]`]: undefined;
        [x: `bytes30[${string}]`]: undefined;
        [x: `bytes31[${string}]`]: undefined;
        [x: `bytes32[${string}]`]: undefined;
        [x: `int[${string}]`]: undefined;
        [x: `int8[${string}]`]: undefined;
        [x: `int16[${string}]`]: undefined;
        [x: `int24[${string}]`]: undefined;
        [x: `int32[${string}]`]: undefined;
        [x: `int40[${string}]`]: undefined;
        [x: `int48[${string}]`]: undefined;
        [x: `int56[${string}]`]: undefined;
        [x: `int64[${string}]`]: undefined;
        [x: `int72[${string}]`]: undefined;
        [x: `int80[${string}]`]: undefined;
        [x: `int88[${string}]`]: undefined;
        [x: `int96[${string}]`]: undefined;
        [x: `int104[${string}]`]: undefined;
        [x: `int112[${string}]`]: undefined;
        [x: `int120[${string}]`]: undefined;
        [x: `int128[${string}]`]: undefined;
        [x: `int136[${string}]`]: undefined;
        [x: `int144[${string}]`]: undefined;
        [x: `int152[${string}]`]: undefined;
        [x: `int160[${string}]`]: undefined;
        [x: `int168[${string}]`]: undefined;
        [x: `int176[${string}]`]: undefined;
        [x: `int184[${string}]`]: undefined;
        [x: `int192[${string}]`]: undefined;
        [x: `int200[${string}]`]: undefined;
        [x: `int208[${string}]`]: undefined;
        [x: `int216[${string}]`]: undefined;
        [x: `int224[${string}]`]: undefined;
        [x: `int232[${string}]`]: undefined;
        [x: `int240[${string}]`]: undefined;
        [x: `int248[${string}]`]: undefined;
        [x: `int256[${string}]`]: undefined;
        [x: `uint[${string}]`]: undefined;
        [x: `uint8[${string}]`]: undefined;
        [x: `uint16[${string}]`]: undefined;
        [x: `uint24[${string}]`]: undefined;
        [x: `uint32[${string}]`]: undefined;
        [x: `uint40[${string}]`]: undefined;
        [x: `uint48[${string}]`]: undefined;
        [x: `uint56[${string}]`]: undefined;
        [x: `uint64[${string}]`]: undefined;
        [x: `uint72[${string}]`]: undefined;
        [x: `uint80[${string}]`]: undefined;
        [x: `uint88[${string}]`]: undefined;
        [x: `uint96[${string}]`]: undefined;
        [x: `uint104[${string}]`]: undefined;
        [x: `uint112[${string}]`]: undefined;
        [x: `uint120[${string}]`]: undefined;
        [x: `uint128[${string}]`]: undefined;
        [x: `uint136[${string}]`]: undefined;
        [x: `uint144[${string}]`]: undefined;
        [x: `uint152[${string}]`]: undefined;
        [x: `uint160[${string}]`]: undefined;
        [x: `uint168[${string}]`]: undefined;
        [x: `uint176[${string}]`]: undefined;
        [x: `uint184[${string}]`]: undefined;
        [x: `uint192[${string}]`]: undefined;
        [x: `uint200[${string}]`]: undefined;
        [x: `uint208[${string}]`]: undefined;
        [x: `uint216[${string}]`]: undefined;
        [x: `uint224[${string}]`]: undefined;
        [x: `uint232[${string}]`]: undefined;
        [x: `uint240[${string}]`]: undefined;
        [x: `uint248[${string}]`]: undefined;
        [x: `uint256[${string}]`]: undefined;
        string?: undefined;
        address?: undefined;
        bool?: undefined;
        bytes?: undefined;
        bytes1?: undefined;
        bytes2?: undefined;
        bytes3?: undefined;
        bytes4?: undefined;
        bytes5?: undefined;
        bytes6?: undefined;
        bytes7?: undefined;
        bytes8?: undefined;
        bytes9?: undefined;
        bytes10?: undefined;
        bytes11?: undefined;
        bytes12?: undefined;
        bytes13?: undefined;
        bytes14?: undefined;
        bytes15?: undefined;
        bytes16?: undefined;
        bytes17?: undefined;
        bytes18?: undefined;
        bytes19?: undefined;
        bytes20?: undefined;
        bytes21?: undefined;
        bytes22?: undefined;
        bytes23?: undefined;
        bytes24?: undefined;
        bytes25?: undefined;
        bytes26?: undefined;
        bytes27?: undefined;
        bytes28?: undefined;
        bytes29?: undefined;
        bytes30?: undefined;
        bytes31?: undefined;
        bytes32?: undefined;
        int8?: undefined;
        int16?: undefined;
        int24?: undefined;
        int32?: undefined;
        int40?: undefined;
        int48?: undefined;
        int56?: undefined;
        int64?: undefined;
        int72?: undefined;
        int80?: undefined;
        int88?: undefined;
        int96?: undefined;
        int104?: undefined;
        int112?: undefined;
        int120?: undefined;
        int128?: undefined;
        int136?: undefined;
        int144?: undefined;
        int152?: undefined;
        int160?: undefined;
        int168?: undefined;
        int176?: undefined;
        int184?: undefined;
        int192?: undefined;
        int200?: undefined;
        int208?: undefined;
        int216?: undefined;
        int224?: undefined;
        int232?: undefined;
        int240?: undefined;
        int248?: undefined;
        int256?: undefined;
        uint8?: undefined;
        uint16?: undefined;
        uint24?: undefined;
        uint32?: undefined;
        uint40?: undefined;
        uint48?: undefined;
        uint56?: undefined;
        uint64?: undefined;
        uint72?: undefined;
        uint80?: undefined;
        uint88?: undefined;
        uint96?: undefined;
        uint104?: undefined;
        uint112?: undefined;
        uint120?: undefined;
        uint128?: undefined;
        uint136?: undefined;
        uint144?: undefined;
        uint152?: undefined;
        uint160?: undefined;
        uint168?: undefined;
        uint176?: undefined;
        uint184?: undefined;
        uint192?: undefined;
        uint200?: undefined;
        uint208?: undefined;
        uint216?: undefined;
        uint224?: undefined;
        uint232?: undefined;
        uint240?: undefined;
        uint248?: undefined;
        uint256?: undefined;
    } | {
        [key: string]: unknown;
    }, TPrimaryType extends string>(args: viem.SignTypedDataParameters<TTypedData, TPrimaryType, _cometh_connect_sdk_4337.ComethSafeSmartAccount>) => ReturnType<typeof permissionless_actions_smartAccount.signTypedData>;
    writeContract: <const TAbi extends viem.Abi | readonly unknown[], TFunctionName extends viem.ContractFunctionName<TAbi, "nonpayable" | "payable"> = viem.ContractFunctionName<TAbi, "nonpayable" | "payable">, TArgs extends viem.ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName> = viem.ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName>, TChainOverride extends viem.Chain | undefined = undefined>(args: viem.WriteContractParameters<TAbi, TFunctionName, TArgs, viem.Chain, _cometh_connect_sdk_4337.ComethSafeSmartAccount, TChainOverride>) => ReturnType<(client: viem.Client<viem.Transport, viem.Chain, _cometh_connect_sdk_4337.ComethSafeSmartAccount>, { abi, address, args, dataSuffix, functionName, ...request }: viem.WriteContractParameters<TAbi, TFunctionName, TArgs, viem.Chain, _cometh_connect_sdk_4337.ComethSafeSmartAccount, TChainOverride>) => Promise<viem.Hash>>;
} & {
    validateAddDevice: <TTransport extends viem.Transport>(args: {
        signer: _cometh_connect_sdk_4337.Signer;
    }) => Promise<viem.Hash>;
    setUpRecoveryModule: () => Promise<viem.Hash>;
    cancelRecoveryRequest: <TTransport extends viem.Transport>(args: {
        effectiveDelayAddress?: viem.Address | undefined;
    }) => Promise<viem.Hash>;
    isRecoveryActive: <TTransport extends viem.Transport>(args: {
        effectiveDelayAddress?: viem.Address | undefined;
    } | undefined) => Promise<_cometh_connect_sdk_4337.IsRecoveryActiveReturnType>;
    getRecoveryRequest: <TTransport extends viem.Transport>(args: {
        effectiveDelayAddress?: viem.Address | undefined;
    } | undefined) => Promise<_cometh_connect_sdk_4337.RecoveryParamsResponse | undefined>;
    verifySignature: <TTransport extends viem.Transport>(args: {
        message: string;
        signature: viem.Hex;
    }) => Promise<boolean>;
    getDelayModuleAddress: <TTransport extends viem.Transport>(args: {
        expiration: number;
        cooldown: number;
    }) => Promise<viem.Address>;
    getGuardianAddress: <TTransport extends viem.Transport>(args: {
        delayModuleAddress: viem.Address;
    }) => Promise<viem.Address>;
    addGuardian: <TTransport extends viem.Transport>(args: {
        delayModuleAddress: viem.Address;
        guardianAddress: viem.Address;
    }) => Promise<viem.Hex>;
    disableGuardian: <TTransport extends viem.Transport>(args: {
        guardianAddress: viem.Address;
        expiration?: number | undefined;
        cooldown?: number | undefined;
    }) => Promise<viem.Hex>;
    setupCustomDelayModule: <TTransport extends viem.Transport>(args: {
        guardianAddress: viem.Address;
        expiration?: number | undefined;
        cooldown?: number | undefined;
    }) => Promise<viem.Hex>;
    setFallbackTo7579: () => Promise<viem.Hex>;
    is7579Installed: () => Promise<boolean>;
} & {
    addOwner: (args: {
        ownerToAdd: viem.Address;
    }) => Promise<viem.Hash>;
    removeOwner: (args: {
        ownerToRemove: viem.Address;
    }) => Promise<viem.Hash>;
    getOwners: () => Promise<readonly viem.Address[]>;
    getEnrichedOwners: () => Promise<_cometh_connect_sdk_4337.EnrichedOwner[]>;
}>>;
type SmartSessionClient = ReturnType<typeof createSessionSmartAccountClient>;

type UseSessionKeyClientReturn = QueryResultType<SmartSessionClient>;
declare function useSessionKeyClient({ apiKey, sessionData, privateKey, }: {
    apiKey: string;
    sessionData: GrantPermissionResponse;
    privateKey: Hex;
}): UseSessionKeyClientReturn;

export { ConnectProvider, type GrantPermissionMutate, type GrantPermissionMutateAsync, type GrantPermissionMutateResponse, type SendPermissionMutate, type SendPermissionMutateAsync, type SendTransactionMutate, type SendTransactionMutateAsync, type UseAddOwnerReturn, type UseRemoveOwnerReturn, type UseRetrieveAccountAddressFromPasskeyOptions, type VerifyMessageMutate, type VerifyMessageMutateAsync, type WriteContractMutate, type WriteContractMutateAsync, useAccount, useAddOwner, useCancelRecoveryRequest, useConnect, useCreateNewSigner, useDisconnect, useEstimateGas, useGenerateQRCodeUrl, useGetEnrichedOwners, useGetGasPrice, useGetOwners, useGetRecoveryRequest, useGetTransactionCost, useGrantPermission, useIsRecoveryActive, useRemoveOwner, useRetrieveAccountAddressFromPasskeyId, useRetrieveAccountAddressFromPasskeys, useSendPermission, useSendTransaction, useSerializeUrlWithSignerPayload, useSessionKeyClient, useSessionKeySigner, useSetUpRecovery, useSignMessage, useSwitchChain, useValidateAddDevice, useVerifyMessage, useWriteContract };
