import type { EntityBaseFileSchema } from '@redocly/config';
import type { DatabaseClient } from '../../../../../providers/database/client.js';
import type { Filter } from '../../../../../providers/database/pagination/types.js';
import { type DatabaseEntityRelation, type DatabaseEntityRelationDto } from '../../../../../providers/database/databases/catalog-sqlite/schemas/entities-relations-table.js';
export type CreateEntityParams = {
    entity: EntityBaseFileSchema;
    fileHash: string;
    sourceFile: string;
    isRootEntity?: boolean;
};
export declare class CatalogEntitiesLocalWriteRepository {
    #private;
    constructor(db: DatabaseClient, organizationId: string, projectId: string);
    createEntity({ entity, fileHash, sourceFile }: CreateEntityParams): Promise<void>;
    deleteEntity(entityKey: string): Promise<string | null>;
    deleteEntities(filter: Filter): Promise<boolean>;
    deleteEntityRelation(id: string): Promise<string | null>;
    deleteEntityRelations(filter: Filter): Promise<boolean>;
    createEntityRelation(entityRelation: DatabaseEntityRelationDto): Promise<DatabaseEntityRelation | null>;
}
//# sourceMappingURL=catalog-entities-local-write-repository.d.ts.map