import { Knex } from 'knex';
import { Logger } from 'winston';
import { z } from 'zod';
import { EntitiesBatchRequest, EntitiesBatchResponse, Cursor, EntitiesCatalog, EntitiesRequest, EntitiesResponse, EntityAncestryResponse, EntityFacetsRequest, EntityFacetsResponse, QueryEntitiesRequest, QueryEntitiesResponse } from '../catalog/types';
import { Stitcher } from '../stitching/types';
export declare class DefaultEntitiesCatalog implements EntitiesCatalog {
    private readonly database;
    private readonly logger;
    private readonly stitcher;
    constructor(options: {
        database: Knex;
        logger: Logger;
        stitcher: Stitcher;
    });
    entities(request?: EntitiesRequest): Promise<EntitiesResponse>;
    entitiesBatch(request: EntitiesBatchRequest): Promise<EntitiesBatchResponse>;
    queryEntities(request: QueryEntitiesRequest): Promise<QueryEntitiesResponse>;
    removeEntityByUid(uid: string): Promise<void>;
    entityAncestry(rootRef: string): Promise<EntityAncestryResponse>;
    facets(request: EntityFacetsRequest): Promise<EntityFacetsResponse>;
}
export declare const cursorParser: z.ZodSchema<Cursor>;
