import { ethers } from 'ethers'; import type { Synapse } from '../synapse.ts'; import type { CreateContextsOptions, DownloadOptions, EnhancedDataSetInfo, PieceCID, PieceRetriever, PreflightInfo, StorageContextCallbacks, StorageInfo, StorageServiceOptions, UploadCallbacks, UploadResult } from '../types.ts'; import type { WarmStorageService } from '../warm-storage/index.ts'; import { StorageContext } from './context.ts'; type CombinedCallbacks = StorageContextCallbacks & UploadCallbacks; interface StorageManagerUploadOptions extends StorageServiceOptions { contexts?: StorageContext[]; context?: StorageContext; callbacks?: Partial; } interface StorageManagerDownloadOptions extends DownloadOptions { context?: StorageContext; providerAddress?: string; withCDN?: boolean; } export declare class StorageManager { private readonly _synapse; private readonly _warmStorageService; private readonly _pieceRetriever; private readonly _withCDN; private readonly _dev; private readonly _withIpni; private _defaultContext?; constructor(synapse: Synapse, warmStorageService: WarmStorageService, pieceRetriever: PieceRetriever, withCDN: boolean, dev: boolean, withIpni?: boolean); upload(data: Uint8Array | ArrayBuffer, options?: StorageManagerUploadOptions): Promise[]>; download(pieceCid: string | PieceCID, options?: StorageManagerDownloadOptions): Promise; preflightUpload(size: number, options?: { withCDN?: boolean; metadata?: Record; }): Promise; createContexts(options?: CreateContextsOptions): Promise; createContext(options?: StorageServiceOptions): Promise; getDefaultContext(): Promise; findDataSets(clientAddress?: string): Promise; terminateDataSet(dataSetId: number): Promise; getStorageInfo(): Promise; } export {}; //# sourceMappingURL=manager.d.ts.map