import stream from 'node:stream'; import { BlobRef, Cid, TypedBlobRef } from '@atproto/lex-data'; import { BlobStore } from '@atproto/repo'; import { AtUri } from '@atproto/syntax'; import { BackgroundQueue } from '../../background'; import { com } from '../../lexicons/index.js'; import { 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: com.atproto.admin.defs.StatusAttr): Promise; deleteDereferencedBlobs(writes: PreparedWrite[], skipBlobStore?: boolean): Promise; verifyBlobAndMakePermanent(blob: TypedBlobRef, signal?: AbortSignal): Promise; insertBlobMetadata(blob: TypedBlobRef): Promise; associateBlob(blob: TypedBlobRef, recordUri: AtUri): Promise; } export declare class CidNotFound extends Error { cid: Cid; constructor(cid: Cid); } //# sourceMappingURL=transactor.d.ts.map