import type { SupportedEvmChain } from './chains.js';

export type EVMConfig = {
  chainId: SupportedEvmChain;
  rpcProviderUrl?: string;
  privateKey: `0x${string}`;
};

export type SolanaConfig = {
  rpcProviderUrl?: string;
  privateKey: string;
  /**
   * Transaction confirmation level
   * - 'confirmed': Transaction has been processed and confirmed by the cluster
   * - 'finalized': Transaction has been finalized and cannot be rolled back
   */
  commitment: 'confirmed' | 'finalized';
};

export type SuiConfig = {
  privateKey: string;
};

export type SDKConfigParams = EVMConfig | SolanaConfig | SuiConfig;
