import { NodeDescriptionValue, NodeReferenceValue, PropUpdateValue, QueryFactory, SetModification, SetModificationValue, UpdateNodePropertyValue, UpdatePartial } from './QueryFactory.js';
import { NodeShape, PropertyShape } from '../shapes/SHACL.js';
export type NodeId = {
    id: string;
} | string;
export declare class MutationQueryFactory extends QueryFactory {
    protected convertUpdateObject(obj: any, shape: NodeShape, allowTopLevelId?: boolean): NodeDescriptionValue;
    protected isSetModification(obj: any, shape: any): any;
    protected convertSetModification(obj: SetModification<any>, shape: PropertyShape): SetModificationValue;
    protected convertSetRemoveValue(obj: UpdatePartial | UpdatePartial[], shape: PropertyShape): NodeReferenceValue[];
    protected convertSetAddValue(obj: UpdatePartial | UpdatePartial[], shape: PropertyShape): UpdatePartial[];
    protected convertSingleRemoveValue(value: any, shape: PropertyShape): NodeReferenceValue;
    protected convertNodeDescription(obj: Object, shape: NodeShape): NodeDescriptionValue;
    protected createNodePropertyValue(value: any, propShape: PropertyShape): UpdateNodePropertyValue;
    protected convertUpdateValue(value: any, propShape?: PropertyShape, allowArrays?: boolean): PropUpdateValue;
    protected isNodeReference(obj: any): obj is NodeReferenceValue;
    protected convertNodeReferences(input: NodeId[] | NodeId): NodeReferenceValue[];
    protected convertNodeReferenceOrString(o: {
        id: string;
    } | string): NodeReferenceValue;
    protected convertNodeReference(obj: {
        id: string;
    }): NodeReferenceValue;
}
