import { Vault } from "../types/vault"; import { Membership } from "../types/membership"; import { CreateVaultTxPayload, CreateFolderTxPayload, UpdateVaultTxPayload, UpdateFolderTxPayload, UpdateMembershipTxPayload, CreateMembershipTxPayload, UpdateFileTxPayload, CreateFolderTreeTxPayload } from "../types/transaction"; import { Paginated } from "../types/paginated"; import { ListApiOptions, ListOptions, VaultApiGetOptions } from "../types/query-options"; import { User, UserEncryptionKeys, UserMutable } from "../types/user"; import { ApiConfig } from "./config"; import { FileGetOptions } from "../core/file"; import { File, Folder } from "../types"; import { Storage } from "../types/storage"; import { ApiKey } from "../types/api-key"; import { CreateChallengeRequestPayload, GenerateJWTRequestPayload, GenerateJWTResponsePayload, VerifyChallengeRequestPayload } from "../types/auth"; import { NFT } from "../types/nft"; import { Collection } from "../types/collection"; declare abstract class Api { config: ApiConfig; clientName: string; constructor(); abstract generateJWT(payload: GenerateJWTRequestPayload): Promise; abstract createAuthChallenge(payload: CreateChallengeRequestPayload): Promise<{ nonce: string; }>; abstract verifyAuthChallenge(payload: VerifyChallengeRequestPayload): Promise; abstract getMe(): Promise; abstract updateMe(input: UserMutable): Promise; abstract verifyMe(): Promise; abstract createEncryptionKeys(input: UserEncryptionKeys): Promise; abstract updateEncryptionKeys(input: UserEncryptionKeys): Promise; abstract deleteEncryptionKeys(): Promise; abstract updateFile(tx: UpdateFileTxPayload): Promise; abstract deleteFile(id: string): Promise; abstract createFolder(tx: CreateFolderTxPayload): Promise; abstract createFolderTree(tx: CreateFolderTreeTxPayload): Promise<{ folderIdMap: Record; }>; abstract updateFolder(tx: UpdateFolderTxPayload): Promise; abstract deleteFolder(id: string): Promise; abstract createVault(tx: CreateVaultTxPayload): Promise; abstract updateVault(tx: UpdateVaultTxPayload): Promise; abstract purgeVault(id: string): Promise; abstract deleteVault(id: string): Promise; abstract getTrash(): Promise; abstract emptyTrash(): Promise; abstract createMembership(tx: CreateMembershipTxPayload): Promise; abstract updateMembership(tx: UpdateMembershipTxPayload): Promise; abstract deleteMembership(tx: UpdateMembershipTxPayload): Promise; abstract downloadFile(id: string, options?: FileGetOptions): Promise<{ data: ArrayBuffer | ReadableStream; headers: Headers; }>; abstract getStorage(): Promise; abstract getFile(id: string): Promise; abstract getFolder(id: string): Promise; abstract getMembership(id: string): Promise; abstract getVault(id: string, options?: VaultApiGetOptions): Promise; abstract getVaults(options?: ListOptions): Promise>; abstract getFiles(options?: ListApiOptions): Promise>; abstract getFolders(options?: ListApiOptions): Promise>; abstract getMembers(options?: ListApiOptions): Promise>; abstract getApiKeys(): Promise>; abstract generateApiKey(): Promise; abstract revokeApiKey(key: string): Promise; abstract mintNft(tx: CreateVaultTxPayload): Promise; abstract mintCollection(tx: CreateVaultTxPayload): Promise; abstract getCollection(id: string): Promise; abstract getNft(id: string, options?: VaultApiGetOptions): Promise; abstract getCollections(options?: ListOptions): Promise>; abstract getNfts(options?: ListOptions): Promise>; } export { Api };