import { TransactionVersion, Address, TransactionSigner, TransactionMessageWithBlockhashLifetime, Instruction, TransactionMessageWithFeePayer, TransactionMessageWithFeePayerSigner, BaseTransactionMessage } from '@solana/kit'; type CreateTransactionInput = { /** Compute unit limit value to set on this transaction */ computeUnitLimit?: bigint | number; /** Compute unit price (in micro-lamports) to set on this transaction */ computeUnitPrice?: bigint | number; /** Address or Signer that will pay transaction fees */ feePayer: TFeePayer; /** List of instructions for this transaction */ instructions: Instruction[]; /** * Latest blockhash (aka transaction lifetime) for this transaction to * accepted for execution on the Solana network * */ latestBlockhash?: TLifetimeConstraint; /** * Transaction version * - `auto` automatically selects based on instruction content (default) * - `legacy` for traditional transactions * - `0` for transactions using Address Lookup Tables * * @default `auto` * */ version?: TVersion; }; type FullTransaction = Simplify & TFeePayer & (TBlockhashLifetime extends TransactionMessageWithBlockhashLifetime ? TransactionMessageWithBlockhashLifetime : object)>; type Simplify = { [K in keyof T]: T[K]; } & {}; export type { CreateTransactionInput as C, FullTransaction as F, Simplify as S };