import type { Address } from 'abitype'; import * as Hex from 'ox/Hex'; import { type AuthorizationTempo, type KeyAuthorization, type TransactionReceipt as ox_TransactionReceipt, SignatureEnvelope, type TempoAddress, TxEnvelopeTempo as TxTempo } from 'ox/tempo'; import type { Account } from '../accounts/types.js'; import type { ExtractCapabilities } from '../types/capabilities.js'; import type { FeeValuesEIP1559 } from '../types/fee.js'; import type { Signature as viem_Signature } from '../types/misc.js'; import type { RpcTransaction as viem_RpcTransaction, RpcTransactionRequest as viem_RpcTransactionRequest } from '../types/rpc.js'; import type { AccessList, TransactionBase, TransactionRequestBase, TransactionSerializableBase, TransactionSerializedGeneric, Transaction as viem_Transaction, TransactionReceipt as viem_TransactionReceipt, TransactionRequest as viem_TransactionRequest, TransactionSerializable as viem_TransactionSerializable, TransactionSerialized as viem_TransactionSerialized, TransactionType as viem_TransactionType } from '../types/transaction.js'; import type { ExactPartial, OneOf, PartialBy } from '../types/utils.js'; import { type ParseTransactionReturnType } from '../utils/transaction/parseTransaction.js'; export type Transaction = OneOf | TransactionTempo>; export type TransactionRpc = OneOf | (Omit, 'authorizationList' | 'keyAuthorization' | 'signature'> & { authorizationList?: AuthorizationTempo.ListRpc | undefined; keyAuthorization?: KeyAuthorization.Rpc | null | undefined; signature: SignatureEnvelope.SignatureEnvelopeRpc; })>; export type TransactionTempo = PartialBy, 'input' | 'value' | 'to'>, 'r' | 's' | 'v' | 'yParity'> & { accessList: AccessList; authorizationList?: AuthorizationTempo.ListSigned | undefined; calls: readonly TxTempo.Call[]; chainId: index; feeToken?: Address | undefined; feePayerSignature?: viem_Signature | undefined; keyAuthorization?: KeyAuthorization.Signed | null | undefined; nonceKey?: quantity | undefined; signature: SignatureEnvelope.SignatureEnvelope; type: type; validBefore?: index | undefined; validAfter?: index | undefined; } & FeeValuesEIP1559; export type TransactionRequest = OneOf | TransactionRequestTempo>; export type TransactionRequestRpc = OneOf>; export type TransactionReceipt = viem_TransactionReceipt & { feePayer?: Address | undefined; feeToken?: Address | undefined; }; export type TransactionReceiptRpc = TransactionReceipt; export type TransactionRequestTempo = TransactionRequestBase & ExactPartial> & { accessList?: AccessList | undefined; calls?: readonly TxTempo.Call[] | undefined; capabilities?: ExtractCapabilities<'fillTransaction', 'Request'> | undefined; feePayer?: Account | true | undefined; feeToken?: TempoAddress.Address | bigint | undefined; keyAuthorization?: KeyAuthorization.Signed | undefined; nonceKey?: 'expiring' | quantity | undefined; validBefore?: index | undefined; validAfter?: index | undefined; }; export type TransactionSerializable = OneOf; export type TransactionSerializableTempo = TransactionSerializableBase & ExactPartial> & { accessList?: AccessList | undefined; calls: readonly TxTempo.Call[]; chainId: number; feeToken?: Address | bigint | undefined; feePayerSignature?: viem_Signature | null | undefined; from?: Address | undefined; keyAuthorization?: KeyAuthorization.Signed | undefined; nonceKey?: quantity | undefined; signature?: SignatureEnvelope.SignatureEnvelope | undefined; validBefore?: index | undefined; validAfter?: index | undefined; type?: 'tempo' | undefined; }; export type TransactionSerialized = viem_TransactionSerialized | TransactionSerializedTempo; export type TransactionSerializedTempo = `0x76${string}`; export type TransactionSerializedFeePayer = `0x78${string}`; export type TransactionType = viem_TransactionType | 'tempo'; export declare function getType(transaction: Record): Transaction['type']; export declare function isTempo(transaction: Record): boolean; export declare function deserialize(serializedTransaction: serialized): deserialize.ReturnValue; export declare namespace deserialize { type ReturnValue = serialized extends TransactionSerializedTempo ? TransactionSerializableTempo : serialized extends TransactionSerializedFeePayer ? TransactionSerializableTempo : ParseTransactionReturnType; } export declare function serialize(transaction: TransactionSerializable & { feePayer?: Account | true | undefined; from?: TempoAddress.Address | undefined; }, signature?: OneOf | undefined): Promise<`0x${string}`>; export { /** @deprecated */ KeyAuthorization as z_KeyAuthorization, /** @deprecated */ SignatureEnvelope as z_SignatureEnvelope, /** @deprecated */ TxEnvelopeTempo as z_TxEnvelopeTempo, } from 'ox/tempo'; //# sourceMappingURL=Transaction.d.ts.map