import type { StorageScorerDefinitionType, StorageCreateScorerDefinitionInput, StorageUpdateScorerDefinitionInput, StorageListScorerDefinitionsInput, StorageListScorerDefinitionsOutput } from '../../types.js';
import type { InMemoryDB } from '../inmemory-db.js';
import type { ScorerDefinitionVersion, CreateScorerDefinitionVersionInput, ListScorerDefinitionVersionsInput, ListScorerDefinitionVersionsOutput } from './base.js';
import { ScorerDefinitionsStorage } from './base.js';
export declare class InMemoryScorerDefinitionsStorage extends ScorerDefinitionsStorage {
    private db;
    constructor({ db }: {
        db: InMemoryDB;
    });
    dangerouslyClearAll(): Promise<void>;
    getById(id: string): Promise<StorageScorerDefinitionType | null>;
    create(input: {
        scorerDefinition: StorageCreateScorerDefinitionInput;
    }): Promise<StorageScorerDefinitionType>;
    update(input: StorageUpdateScorerDefinitionInput): Promise<StorageScorerDefinitionType>;
    delete(id: string): Promise<void>;
    list(args?: StorageListScorerDefinitionsInput): Promise<StorageListScorerDefinitionsOutput>;
    createVersion(input: CreateScorerDefinitionVersionInput): Promise<ScorerDefinitionVersion>;
    getVersion(id: string): Promise<ScorerDefinitionVersion | null>;
    getVersionByNumber(scorerDefinitionId: string, versionNumber: number): Promise<ScorerDefinitionVersion | null>;
    getLatestVersion(scorerDefinitionId: string): Promise<ScorerDefinitionVersion | null>;
    listVersions(input: ListScorerDefinitionVersionsInput): Promise<ListScorerDefinitionVersionsOutput>;
    deleteVersion(id: string): Promise<void>;
    deleteVersionsByParentId(entityId: string): Promise<void>;
    countVersions(scorerDefinitionId: string): Promise<number>;
    private deepCopyScorer;
    private deepCopyVersion;
    private sortScorers;
    private sortVersions;
}
//# sourceMappingURL=inmemory.d.ts.map