import { type UploadPieceStreamingData } from '@filoz/synapse-core/sp'; import { type MetadataObject } from '@filoz/synapse-core/utils'; import type { Address, Hash, Hex } from 'viem'; import { SPRegistryService } from '../sp-registry/index.ts'; import type { Synapse } from '../synapse.ts'; import type { CommitOptions, CommitResult, ContextCreateContextsOptions, DownloadOptions, PDPProvider, PieceCID, PieceRecord, PieceStatus, ProviderSelectionResult, PullOptions, PullResult, StorageContextCreateOptions, StorageServiceOptions, StoreOptions, StoreResult, TerminateServiceOptions, TerminateServiceResult, UploadOptions, UploadResult } from '../types.ts'; import type { WarmStorageService } from '../warm-storage/index.ts'; export interface StorageContextOptions { synapse: Synapse; warmStorageService: WarmStorageService; provider: PDPProvider; dataSetId: bigint | undefined; options: StorageServiceOptions; dataSetMetadata: Record; } export declare class StorageContext { private readonly _client; private readonly _chain; private readonly _synapse; private readonly _provider; private readonly _pdpEndpoint; private readonly _warmStorageService; private readonly _withCDN; private _dataSetId; private _clientDataSetId; private readonly _dataSetMetadata; readonly serviceProvider: Address; get withCDN(): boolean; get provider(): PDPProvider; get dataSetMetadata(): Record; get dataSetId(): bigint | undefined; private getClientDataSetId; private static validateRawSize; constructor(options: StorageContextOptions); static createContexts(options: ContextCreateContextsOptions): Promise; static create(options: StorageContextCreateOptions): Promise; private static createWithSelectedProvider; private static resolveProviderAndDataSet; static resolveByDataSetId(dataSetId: bigint, warmStorageService: WarmStorageService, spRegistry: SPRegistryService, clientAddress: string): Promise; private static resolveByProviderId; private static smartSelect; private static toProviderSelectionResult; store(data: UploadPieceStreamingData, options?: StoreOptions): Promise; presignForCommit(pieces: Array<{ pieceCid: PieceCID; pieceMetadata?: MetadataObject; }>): Promise; pull(options: PullOptions): Promise; commit(options: CommitOptions): Promise; getPieceUrl(pieceCid: PieceCID): string; upload(data: UploadPieceStreamingData, options?: UploadOptions): Promise; download(options: DownloadOptions): Promise; getProviderInfo(): Promise; getScheduledRemovals(): Promise; getPieces(options?: { batchSize?: bigint; }): AsyncGenerator; private _getPieceIdByCID; deletePiece(options: { piece: string | PieceCID | bigint; }): Promise; pieceStatus(options: { pieceCid: string | PieceCID; }): Promise; terminate(options?: Pick): Promise; } //# sourceMappingURL=context.d.ts.map