import type Cypher from "@neo4j/cypher-builder";
import type { QueryASTContext } from "../../QueryASTContext";
import { QueryASTNode } from "../../QueryASTNode";
export declare abstract class SelectionPattern extends QueryASTNode {
    getChildren(): QueryASTNode[];
    /** Apply selection over the given context, returns the updated context and the selection clause
     * TODO: Improve naming */
    abstract apply(context: QueryASTContext): {
        nestedContext: QueryASTContext<Cypher.Node>;
        pattern: Cypher.Pattern;
    };
}
//# sourceMappingURL=SelectionPattern.d.ts.map