import { AnyTransactionRequestModel, MetaTransaction, NativeTransaction, Nonce, JustProtocolRequest, DataTransaction } from '@lens-protocol/domain/entities'; import { ChainType } from '@lens-protocol/shared-kernel'; export type NativeTransactionData = { chainType: ChainType; id: string; relayerTxId?: string; request: T; txHash: string | null; }; export type MetaTransactionData = { chainType: ChainType; id: string; relayerTxId: string; nonce: Nonce; request: T; txHash: string | null; }; export type DataTransactionData = { id: string; request: T; }; export interface ITransactionFactory { createMetaTransaction>(init: MetaTransactionData): MetaTransaction; createNativeTransaction(init: NativeTransactionData): NativeTransaction; createDataTransaction>(init: DataTransactionData): DataTransaction; }