import type { DatabaseClient } from '../../../../../providers/database/client.js';
export declare class VersionRepository {
    private readonly db;
    constructor(db: DatabaseClient);
    markAllVersionsAsNotDefault(key: string): Promise<void>;
    doesVersionExist(key: string, version: string): Promise<boolean>;
    /**
     * Gets the ordered list of versions for a given key.
     * The list is ordered by creation date, and then by version.
     */
    getOrderedVersionListForKey(key: string): Promise<{
        version: string | null;
        isDefaultVersion: boolean;
        revision: string;
        createdAt: Date;
    }[]>;
    /**
     * Helper: Determines the correct entity to promote.
     * STRATEGY:
     * 1. Identify the highest SemVer string available.
     * 2. Filter revisions to ONLY include that SemVer.
     * 3. Sort those specific revisions by Date to find the tip.
     */
    getLatestVersion(versionsList: {
        version: string | null;
        isDefaultVersion: boolean;
        revision: string;
        createdAt: Date;
    }[]): {
        version: string | null;
        isDefaultVersion: boolean;
        revision: string;
        createdAt: Date;
    } | null;
}
//# sourceMappingURL=version-repository.d.ts.map