import { Pin } from '@fleek-platform/utils-genql-client'; import type { Block } from '@web3-storage/upload-client/car'; import { AccessTokenService } from '../libs/AccessTokenService/AccessTokenService'; export type UploadProgress = { loadedSize: number; totalSize?: number; }; type UploadProxyClientOptions = { accessTokenService: AccessTokenService; uploadProxyApiUrl: string; }; type UploadContentArgs = { getStream: () => ReadableStream; basename: string; parentFolderId?: string; options?: UploadContentOptions; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; type UploadPrivateContentArgs = { file: File; fileHash: string; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; export type UploadContentOptions = { siteId?: string; functionName?: string; }; export type UploadPinResponse = { pin: Pick; duplicate: boolean; }; export declare class UploadProxyClient { private uploadProxyApiUrl; private accessTokenService; constructor(options: UploadProxyClientOptions); uploadPrivateContent: ({ file, fileHash, onUploadProgress, }: UploadPrivateContentArgs) => Promise<{ pin: { cid: string; size: number; }; duplicate: boolean; }>; uploadContent: ({ getStream, basename, parentFolderId, options, onUploadProgress, }: UploadContentArgs) => Promise; delete: (cid: string) => Promise; private getStreamCidAndTotalSize; private checkPinDuplicityByCid; private checkPinDuplicityByParentFolderAndBasename; private checkPinDuplicty; } export {};