import { CypherASTNode } from "../../CypherASTNode";
import type { CypherEnvironment } from "../../Environment";
import type { MapExpr } from "../../expressions/map/MapExpr";
import type { MapProjection } from "../../expressions/map/MapProjection";
import { Label } from "../../references/Label";
import type { PropertyRef } from "../../references/PropertyRef";
import type { Variable } from "../../references/Variable";
import type { Expr } from "../../types";
/** @group Clauses */
export type SetParam = [PropertyRef, Exclude<Expr, MapExpr | MapProjection>] | [Variable, MapExpr | Variable | PropertyRef] | [Variable, "+=", MapExpr | Variable | PropertyRef] | Label;
export declare class SetClause extends CypherASTNode {
    protected params: SetParam[];
    constructor(parent: CypherASTNode, params?: SetParam[]);
    addParams(...params: SetParam[]): void;
    /** @internal */
    getCypher(env: CypherEnvironment): string;
    private composeParam;
}
