import { Program, Wallet, web3 } from "@project-serum/anchor"; import { ShadowDriveUserStaking } from "./utils/idl"; import { createStorageAccount, addStorage, claimStake, deleteFile, deleteStorageAccount, editFile, getStorageAcc, makeStorageImmutable, reduceStorage, cancelDeleteFile, cancelDeleteStorageAccount, uploadFile, uploadMultipleFiles, getStorageAccs } from "./methods"; import { CreateStorageResponse, ShadowBatchUploadResponse, ShadowDriveResponse, ShadowFile, ShadowUploadResponse, StorageAccount, StorageAccountResponse } from "./types"; interface ShadowDrive { createStorageAccount(name: string, size: string): Promise; addStorage(key: web3.PublicKey, size: string): Promise; claimStake(key: web3.PublicKey): Promise; deleteFile(key: web3.PublicKey, url: string): Promise; editFile(key: web3.PublicKey, url: string, data: File | ShadowFile): Promise; getStorageAcc?(key: web3.PublicKey): Promise; getStorageAccs?(): Promise; makeStorageImmutable(key: web3.PublicKey): Promise; reduceStorage(key: web3.PublicKey, size: string): Promise; cancelDeleteFile(key: web3.PublicKey, url: string): Promise; cancelDeleteStorageAccount(key: web3.PublicKey): Promise; uploadFile(key: web3.PublicKey, data: File | ShadowFile): Promise; uploadMultipleFiles(key: web3.PublicKey, data: FileList | ShadowFile[]): Promise; deleteStorageAccount(key: web3.PublicKey): Promise; } export declare class ShdwDrive implements ShadowDrive { private connection; private wallet; private provider; private program; private storageConfigPDA; private userInfo; /** * * Todo - Typescript does not currently support splitting up class definition into multiple files. These methods * are therefore added as properties to the ShdwDrive class. Can move all method definitions into this file to resolve. * */ createStorageAccount: typeof createStorageAccount; addStorage: typeof addStorage; claimStake: typeof claimStake; deleteFile: typeof deleteFile; deleteStorageAccount: typeof deleteStorageAccount; editFile: typeof editFile; getStorageAccount: typeof getStorageAcc; getStorageAccounts: typeof getStorageAccs; makeStorageImmutable: typeof makeStorageImmutable; reduceStorage: typeof reduceStorage; cancelDeleteFile: typeof cancelDeleteFile; cancelDeleteStorageAccount: typeof cancelDeleteStorageAccount; uploadFile: typeof uploadFile; uploadMultipleFiles: typeof uploadMultipleFiles; constructor(connection: web3.Connection, wallet: Wallet); init(): Promise; getProgram(): Program; } export { CreateStorageResponse, ShadowDriveResponse, ShadowUploadResponse, ShadowFile, StorageAccount, StorageAccountResponse, ShadowBatchUploadResponse, }; //# sourceMappingURL=index.d.ts.map