/**
 * Synor Storage SDK
 *
 * Decentralized storage, pinning, and content retrieval.
 *
 * @example
 * ```typescript
 * import { SynorStorage } from '@synor/storage';
 *
 * const storage = new SynorStorage({ apiKey: 'your-api-key' });
 *
 * // Upload content
 * const result = await storage.upload(Buffer.from('Hello, World!'));
 * console.log('CID:', result.cid);
 *
 * // Pin content
 * await storage.pin({ cid: result.cid, name: 'my-file' });
 *
 * // Get gateway URL
 * const gateway = storage.getGatewayUrl(result.cid);
 * console.log('URL:', gateway.url);
 * ```
 *
 * @packageDocumentation
 */

export { SynorStorage, StorageApiError } from './client';
export type {
  StorageConfig,
  PinStatus,
  HashAlgorithm,
  EntryType,
  MatchType,
  UploadOptions,
  UploadProgress,
  UploadResponse,
  DownloadOptions,
  DownloadProgress,
  Pin,
  PinRequest,
  ListPinsOptions,
  ListPinsResponse,
  GatewayUrl,
  CarBlock,
  CarFile,
  FileEntry,
  DirectoryEntry,
  ImportCarResponse,
  StorageStats,
  StorageError,
} from './types';
