import { Attachment, ControlResource, ControlUploadStatus, ModelPayloadRef, type ResourceAttachmentRef } from "@claudexor/schema"; /** Daemon-owned immutable content store. Uploads are single-shot streams; finalized blobs dedupe. */ export declare class ResourceStore { private readonly uploads; private readonly createIdempotency; private readonly finalizeIdempotency; private readonly uploadsDir; private readonly blobsDir; private readonly resourcesDir; private readonly idempotencyDir; constructor(root: string); create(raw: unknown, idempotencyKey: string): ReturnType; status(uploadId: string): ReturnType; write(uploadId: string, chunks: AsyncIterable): Promise>; cancel(uploadId: string): ReturnType; finalize(uploadId: string, expectedSha256: string | undefined, idempotencyKey: string): ReturnType; resolve(refs: ResourceAttachmentRef[] | undefined): Attachment[]; /** Exact model bytes only; never a text/artifact projection or secret scanner. */ readModel(raw: ModelPayloadRef): Buffer; /** Publish a daemon-produced result through the same durable finalize owner. */ publishModel(bytes: Uint8Array): ModelPayloadRef; /** Caller owns command-reference checks. This removes only this resource; * a blob shared with another resource or pending finalize remains owned. */ releaseModel(raw: ModelPayloadRef): void; listModelResources(): Array; private assertModelRef; private resourcePath; private blobPath; private metadata; private verifiedBytes; private completeFinalization; private discardUpload; private persistUpload; private persistIdempotency; private restoreState; } //# sourceMappingURL=resource-store.d.ts.map