/**
 * Synor IBC SDK
 *
 * Inter-Blockchain Communication (IBC) protocol SDK for cross-chain interoperability.
 *
 * @example
 * ```typescript
 * import { SynorIbc } from '@synor/ibc';
 *
 * const ibc = new SynorIbc({ apiKey: 'your-api-key' });
 *
 * // Create a light client
 * const clientId = await ibc.clients.create({
 *   clientType: 'tendermint',
 *   clientState: { ... },
 *   consensusState: { ... },
 * });
 *
 * // Transfer tokens to another chain
 * const { sequence, txHash } = await ibc.transfer.transfer({
 *   sourcePort: { id: 'transfer' },
 *   sourceChannel: { id: 'channel-0' },
 *   token: { denom: 'usynor', amount: '1000000' },
 *   sender: 'synor1...',
 *   receiver: 'cosmos1...',
 * });
 *
 * // Initiate atomic swap
 * const { swapId, hashlock } = await ibc.swaps.initiate({
 *   responder: 'cosmos1...',
 *   initiatorAsset: { native: { amount: 1000000n } },
 *   responderAsset: { ics20: { denom: 'uatom', amount: 500000n } },
 * });
 * ```
 */

export * from './types';
export * from './client';
export { SynorIbc as default } from './client';
