import stream from 'node:stream'; import { CID } from 'multiformats/cid'; import { BlobRef } from '@atproto/lexicon'; import { BlobStore } from '@atproto/repo'; import { AtUri } from '@atproto/syntax'; import { BackgroundQueue } from '../../background'; import { StatusAttr } from '../../lexicon/types/com/atproto/admin/defs'; import { PreparedBlobRef, PreparedWrite } from '../../repo/types'; import { ActorDb } from '../db'; import { BlobReader } from './reader'; export type BlobMetadata = { tempKey: string; size: number; cid: CID; mimeType: string; }; export declare class BlobTransactor extends BlobReader { db: ActorDb; blobstore: BlobStore; backgroundQueue: BackgroundQueue; constructor(db: ActorDb, blobstore: BlobStore, backgroundQueue: BackgroundQueue); insertBlobs(recordUri: string, blobs: Iterable): Promise; uploadBlobAndGetMetadata(userSuggestedMime: string, blobStream: stream.Readable): Promise; trackUntetheredBlob(metadata: BlobMetadata): Promise; processWriteBlobs(rev: string, writes: PreparedWrite[]): Promise; updateBlobTakedownStatus(cid: CID, takedown: StatusAttr): Promise; deleteDereferencedBlobs(writes: PreparedWrite[], skipBlobStore?: boolean): Promise; verifyBlobAndMakePermanent(blob: PreparedBlobRef, signal?: AbortSignal): Promise; insertBlobMetadata(blob: PreparedBlobRef): Promise; associateBlob(blob: PreparedBlobRef, recordUri: AtUri): Promise; } export declare class CidNotFound extends Error { cid: CID; constructor(cid: CID); } //# sourceMappingURL=transactor.d.ts.map