import type { CypherEnvironment } from "../Environment";
import { Variable } from "./Variable";
/** Represents a parameter that will be passed as a separate object
 * @group Variables
 */
export declare class Param<T = unknown> extends Variable {
    value: T;
    constructor(value: T);
    /** Defines if the Param has a value that needs to be returned by the builder */
    get hasValue(): boolean;
    getCypher(env: CypherEnvironment): string;
    get isNull(): boolean;
}
/** Represents a parameter with a given name
 * @group Variables
 */
export declare class NamedParam extends Param {
    id: string;
    constructor(name: string, value?: unknown);
    /** @internal */
    getCypher(env: CypherEnvironment): string;
}
