import type { EntityReadModelSchema } from '../../../schemas/read-model-schemas.js';
import type { EntityDtoSchema, EntityRelationDtoSchema } from '../../../schemas/dto-schemas.js';
import type { Filter } from '../../../../../providers/database/pagination/types.js';
import type { DatabaseInitializationResult, RepositoryInstanceOptions } from '../../../../../providers/database/types.js';
import { type DatabaseEntityRelation } from '../../../../../providers/database/databases/catalog-sqlite/schemas/entities-relations-table.js';
import { BaseRepository } from '../../../../../providers/database/base-repository.js';
export declare class CatalogEntitiesRemoteRepository extends BaseRepository {
    #private;
    get transactionsManager(): import("../../../../../providers/database/transactions-manager.js").TransactionsManager;
    constructor(initializationResult: DatabaseInitializationResult);
    static getInstance(options: RepositoryInstanceOptions): Promise<CatalogEntitiesRemoteRepository | undefined>;
    createEntity(entity: EntityDtoSchema): Promise<EntityReadModelSchema | null>;
    updateEntity(entity: EntityDtoSchema & {
        id?: string;
        createdAt?: string;
    }): Promise<EntityReadModelSchema | null>;
    deleteEntity(entityKey: string): Promise<string | null>;
    createEntityRelations(relations: EntityRelationDtoSchema[]): Promise<(DatabaseEntityRelation | null)[]>;
    createEntityRelation(entityRelation: EntityRelationDtoSchema): Promise<DatabaseEntityRelation | null>;
    deleteEntityRelation(id: string): Promise<string | null>;
    deleteEntitiesRelations(filter: Filter): Promise<boolean>;
}
//# sourceMappingURL=catalog-entities-remote-repository.d.ts.map