import { SignedEvent } from "./Events.js"; export type BlossomAuthAction = "get" | "upload" | "list" | "delete"; export type BlossomAuthEventOpts = { action: BlossomAuthAction; server: string; hashes?: string[]; expiration?: number; content?: string; }; export type BlossomServer = { url: string; pubkey?: string; }; export type BlossomErrorResponse = { message: string; reason?: string; }; export declare const makeBlossomAuthEvent: ({ action, server, hashes, expiration, content, }: BlossomAuthEventOpts) => { kind: number; content: string; tags: string[][]; created_at: number; }; export declare const buildBlobUrl: (server: string, sha256: string, extension?: string) => string; export declare const checkBlobExists: (server: string, sha256: string, { headers, authEvent, }?: { headers?: Record; authEvent?: SignedEvent; }) => Promise<{ exists: boolean; size?: number; }>; export declare const getBlob: (server: string, sha256: string, { headers, authEvent, range, }?: { headers?: Record; authEvent?: SignedEvent; range?: { start: number; end?: number; }; }) => Promise; export declare const canUploadBlob: (server: string, { headers, authEvent, }?: { headers?: Record; authEvent?: SignedEvent; }) => Promise; export declare const uploadBlob: (server: string, blob: Blob | ArrayBuffer, { headers, authEvent, }?: { headers?: Record; authEvent?: SignedEvent; }) => Promise; export declare const deleteBlob: (server: string, sha256: string, { headers, authEvent, }?: { headers?: Record; authEvent?: SignedEvent; }) => Promise; export declare const listBlobs: (server: string, pubkey: string, { headers, authEvent, since, until, }?: { headers?: Record; authEvent?: SignedEvent; since?: number; until?: number; }) => Promise; export interface EncryptedFile { key: string; nonce: string; ciphertext: Uint8Array; algorithm: string; } export declare function encryptFile(file: Blob): Promise; export declare function decryptFile({ key, nonce, ciphertext, algorithm, }: EncryptedFile): Promise; //# sourceMappingURL=Blossom.d.ts.map