import { Client, Pin } from '@fleek-platform/utils-genql-client'; import { FileLike } from '@web3-storage/upload-client/types'; import { UploadContentOptions, UploadPinResponse, UploadProgress, UploadProxyClient } from './uploadProxy'; export type StoragePin = Pick & { filecoinDealIds?: string; arweaveId?: string | undefined; }; export type PinByCidArgs = Pick; export type PinByFilenameArgs = Pick; export type GetPinArgs = PinByCidArgs; export type GetPinByFilenameArgs = PinByFilenameArgs; export type DeletePinArgs = PinByCidArgs; type StorageClientOptions = { graphqlClient: Client; uploadProxyClient: UploadProxyClient; }; type UploadDirectoryArgs = { path: string; parentFolderId?: string; options?: UploadContentOptions; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; type UploadPrivateFileArgs = { filePath: string; hashingAlhorithm?: 'sha256' | 'sha512' | 'blake3'; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; type UploadFileArgs = { file: FileLike; parentFolderId?: string; options?: UploadContentOptions; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; type UploadVirtualDirectoryArgs = { files: FileLike[]; directoryName: string; parentFolderId?: string; onUploadProgress?: (uploadProgress: UploadProgress) => void; }; export declare class StorageClient { private graphqlClient; private uploadProxyClient; private static SITE_MAPPED_PROPERTIES; private static FUNCTION_MAPPED_PROPERTIES; private static STORAGE_MAPPED_PROPERTIES; private static STORAGE_WITH_AGGREGATION_MAPPED_PROPERTIES; constructor(options: StorageClientOptions); uploadDirectory: ({ path, parentFolderId, options, onUploadProgress, }: UploadDirectoryArgs) => Promise; uploadVirtualDirectory: ({ files, directoryName, parentFolderId, onUploadProgress, }: UploadVirtualDirectoryArgs) => Promise; uploadPrivateFile: ({ filePath, hashingAlhorithm, onUploadProgress, }: UploadPrivateFileArgs) => Promise; uploadFile: ({ file, parentFolderId, options, onUploadProgress, }: UploadFileArgs) => Promise; get: ({ cid }: GetPinArgs) => Promise; getByFilename: ({ filename, extension, }: GetPinByFilenameArgs) => Promise; list: () => Promise; delete: ({ cid }: DeletePinArgs) => Promise<{ status: number; body: any; }>; private checkFunctionInDb; private checkSiteInDb; } export {};