import type { Logger } from '@dexto/core'; import type { BlobStore, BlobInput, BlobMetadata, BlobReference, BlobData, BlobStats } from './types.js'; import type { LocalBlobStoreConfig } from './schemas.js'; /** * Local filesystem blob store implementation. * * Stores blobs on the local filesystem with content-based deduplication * and metadata tracking. This is the default store for development * and single-machine deployments. */ export declare class LocalBlobStore implements BlobStore { private config; private storePath; private connected; private statsCache; private statsCachePromise; private lastStatsRefresh; private logger; private static readonly STATS_REFRESH_INTERVAL_MS; constructor(config: LocalBlobStoreConfig, logger: Logger); connect(): Promise; disconnect(): Promise; isConnected(): boolean; getStoreType(): string; store(input: BlobInput, metadata?: BlobMetadata): Promise; retrieve(reference: string, format?: 'base64' | 'buffer' | 'path' | 'stream' | 'url'): Promise; exists(reference: string): Promise; delete(reference: string): Promise; cleanup(olderThan?: Date): Promise; getStats(): Promise; getStoragePath(): string | undefined; listBlobs(): Promise; private ensureStatsCache; private refreshStatsCache; private updateStatsCacheAfterStore; private updateStatsCacheAfterDelete; /** * Convert various input types to Buffer */ private inputToBuffer; /** * Parse blob reference to extract ID */ private parseReference; /** * Detect MIME type from buffer content and/or filename */ private detectMimeType; /** * Check if buffer contains text content */ private isTextBuffer; } //# sourceMappingURL=local-blob-store.d.ts.map