import { GetQueryResponseType, QueryResponseToResultType, SelectQueryFactory } from '../queries/SelectQuery.js'; import { Shape } from '../shapes/Shape.js'; import { AddId, NodeReferenceValue, UpdatePartial } from '../queries/QueryFactory.js'; import { CreateResponse } from '../queries/CreateQuery.js'; import { NodeId } from '../queries/MutationQuery.js'; import { DeleteResponse } from '../queries/DeleteQuery.js'; export interface IQueryParser { selectQuery>, ShapeType>[]>(query: SelectQueryFactory): Promise; updateQuery>(id: string | { id: string; } | { uri: string; }, updateObjectOrFn: U, shapeClass: typeof Shape): Promise>; createQuery>(updateObjectOrFn: U, shapeClass: typeof Shape): Promise>; deleteQuery(id: NodeId | NodeId[] | NodeReferenceValue[], shapeClass: typeof Shape): Promise; } export declare function staticImplements(): (constructor: U) => void;