export interface BlobMeta {
    hash: string;
    original_size: number;
    compressed_size: number;
    encrypted_size: number;
    content_type: string;
    created_at: string;
    ref_count: number;
}
export interface BlobStats {
    totalBlobs: number;
    totalOriginalBytes: number;
    totalEncryptedBytes: number;
    dedupSavingsPercent: number;
    avgRefCount: number;
    contentTypes: Record<string, number>;
}
/**
 * Write content to blob vault (dedup by hash)
 * Returns hash if written, null if error
 */
export declare function writeBlob(projectDir: string, content: Buffer, contentType?: string): string | null;
/**
 * Read content from blob vault by hash
 */
export declare function readBlob(projectDir: string, hash: string): Buffer | null;
/**
 * Check if blob exists
 */
export declare function blobExists(projectDir: string, hash: string): boolean;
/**
 * Get blob metadata
 */
export declare function getBlobMeta(projectDir: string, hash: string): BlobMeta | null;
/**
 * Delete blob (only if ref_count <= 1)
 */
export declare function deleteBlob(projectDir: string, hash: string): boolean;
/**
 * Get vault statistics
 */
export declare function getBlobStats(projectDir: string): BlobStats;
/**
 * List all blobs
 */
export declare function listBlobs(projectDir: string): BlobMeta[];
//# sourceMappingURL=blob-vault.d.ts.map