import type { CypherEnvironment } from "../Environment";
import type { CypherCompilable } from "../types";
import { Clause } from "./Clause";
/** Allows for a raw string to be used as a clause
 * @group Utils
 */
export declare class Raw extends Clause {
    private readonly callback;
    constructor(callback: ((context: RawCypherContext) => [string, Record<string, unknown>] | string | undefined) | string);
    getCypher(env: CypherEnvironment): string;
    private stringToCallback;
}
/**
 * @group Utils
 */
export declare class RawCypherContext {
    private readonly env;
    /** @internal */
    constructor(env: CypherEnvironment);
    /** Compiles a Cypher element in the current context */
    compile(element: CypherCompilable): string;
}
