import type { DatabaseClient } from '../../../../../providers/database/client';
import type { ListResult } from '../types';
import type { EntityReadModelSchema, EntitySource } from '../../../schemas/read-model-schemas';
import type { PaginationParams } from '../../../../../providers/database/pagination/schemas';
import type { Filter } from '../../../../../providers/database/pagination/types';
import type { GetEntityByIdParams } from '../../../types/params';
export declare class EntitiesReadRepository {
    #private;
    constructor(db: DatabaseClient);
    getEntities({ paginationParams, rbacTeams, excludedTypes, excludedEntities }: {
        paginationParams: PaginationParams;
        rbacTeams?: string[];
        excludedTypes?: string[];
        excludedEntities?: string[];
    }): Promise<ListResult<EntityReadModelSchema>>;
    getEntityById(id: string, params?: GetEntityByIdParams): Promise<EntityReadModelSchema | null>;
    getEntityKeysAndVersionsBySourceFile(sourceFile: string): Promise<Set<string>>;
    getEntitiesCountByTypes(): Promise<{
        type: string;
        count: number;
    }[]>;
    getOutdatedEntities(filter?: Filter): Promise<EntityReadModelSchema[]>;
    getEntitiesCount(source: EntitySource, addedEntities?: EntityReadModelSchema[], entitiesRemovedCount?: number): Promise<{
        total: number;
    }>;
}
//# sourceMappingURL=entities-read-repository.d.ts.map