import { Db } from 'mongodb';
import { PerfectValidator } from '../types';
export declare class MongoStorage implements PerfectValidator.IModelStorage {
    private db;
    private defaultCollection;
    constructor(db: Db);
    /**
     * Checks if any indexes exist on the collection beyond the default _id index
     * This allows index creation to be handled externally (e.g., by bash scripts)
     */
    private checkRequiredIndexes;
    private getCollection;
    getModel(modelName: string): Promise<string | null>;
    storeModelVersion(modelName: string, serializedModel: string, version: number, collection?: string): Promise<void>;
    getModelVersion(modelName: string, version: number, collection?: string): Promise<PerfectValidator.ModelVersion | null>;
    getLatestModelVersion(modelName: string, collection?: string): Promise<PerfectValidator.ModelVersion | null>;
    listModelVersions(modelName: string, collection?: string): Promise<number[]>;
    insertModel(modelName: string, model: PerfectValidator.ValidationModel): Promise<void>;
    updateModel(modelName: string, model: PerfectValidator.ValidationModel): Promise<void>;
    deleteModel(modelName: string): Promise<void>;
}
