/**
 * Synor Contract SDK
 *
 * Smart contract deployment, interaction, and event handling:
 * - Deploy contracts (standard and CREATE2)
 * - Call view/pure functions
 * - Send state-changing transactions
 * - Subscribe to events
 * - ABI encoding/decoding utilities
 *
 * @packageDocumentation
 */

export { SynorContract, ContractError } from './client';
export type {
  ContractConfig,
  AbiEntryType,
  AbiParameter,
  AbiEntry,
  Abi,
  DeployContractOptions,
  DeploymentResult,
  CallContractOptions,
  SendContractOptions,
  TransactionResult,
  EventLog,
  DecodedEvent,
  EventFilter,
  EventCallback,
  EventSubscription,
  ContractInterface,
  EncodeCallOptions,
  DecodeResultOptions,
  EstimateGasOptions,
  GasEstimation,
  BytecodeInfo,
  VerifyContractOptions,
  VerificationResult,
  MulticallRequest,
  MulticallResult,
  ReadStorageOptions,
} from './types';
