/**
 * Core storage engine for PIT TypeScript - Git-like content-addressable storage.
 */
import { StorageObject } from './objects';
export declare class StorageEngine {
    private objectsPath;
    private refsPath;
    private metadataDbPath;
    private db;
    private objectLocks;
    constructor(repoPath: string);
    private ensureDirectories;
    private initMetadataDb;
    private getObjectLock;
    /**
     * Store an object and return its hash.
     */
    storeObject(obj: StorageObject): Promise<string>;
    /**
     * Load an object by hash.
     */
    loadObject(hash: string): Promise<StorageObject>;
    /**
     * Check if an object exists.
     */
    objectExists(hash: string): Promise<boolean>;
    /**
     * Store a reference (branch, tag, etc.).
     */
    storeRef(name: string, hash: string, type?: string): Promise<void>;
    /**
     * Load a reference by name.
     */
    loadRef(name: string): Promise<string>;
    /**
     * Check if a reference exists.
     */
    refExists(name: string): Promise<boolean>;
    /**
     * List all references of a given type.
     */
    listRefs(type?: string): Promise<Array<{
        name: string;
        hash: string;
        type: string;
    }>>;
    /**
     * Delete a reference.
     */
    deleteRef(name: string): Promise<void>;
    /**
     * Get storage statistics.
     */
    getStats(): Promise<{
        objectCount: number;
        refCount: number;
        totalSize: number;
        objectsByType: Record<string, number>;
    }>;
    /**
     * Cleanup old objects (garbage collection).
     */
    cleanup(maxAge?: number): Promise<number>;
    /**
     * Close the storage engine and database connections.
     */
    close(): Promise<void>;
    private getObjectPath;
}
//# sourceMappingURL=engine.d.ts.map