import type { CypherASTNode } from "../../CypherASTNode";
import type { CypherEnvironment } from "../../Environment";
import { Clause } from "../Clause";
/** The result of multiple clauses concatenated with `Cypher.utils.concat`
 * @group Utils
 */
export declare class CompositeClause extends Clause {
    private readonly separator;
    protected _children: CypherASTNode[];
    /**
     * @internal
     */
    constructor(children: Array<Clause | undefined>, separator: string);
    concat(...clauses: Array<Clause | undefined>): this;
    get empty(): boolean;
    /** @deprecated Children from a composite clause should not be accessed as this will lead to unexpected behaviour */
    get children(): Array<CypherASTNode>;
    /** @internal */
    getCypher(env: CypherEnvironment, importWithCypher?: string): string;
    private filterClauses;
    private filterEmptyComposite;
    private unwrapComposite;
}
