import { Node } from "../tree/nodes.js"; import { ExpectationSpec } from "../tree/types.js"; export declare class NodeExpr { readonly node: Node; constructor(node: Node); static expect(spec: ExpectationSpec, id?: string): NodeExpr; and(other: NodeExpr | Node): NodeExpr; or(other: NodeExpr | Node): NodeExpr; not(): NodeExpr; group(): NodeExpr; toNode(): Node; } /** * Helper to make namespaced, typed expectation creators. * Usage: * const cursor = defineNamespace("cursor"); * const at = cursor.define<"at">()("cursor.at")<{ index: number }>(); * const n = at({ index: 1 }); */ export declare function defineNamespace(prefix: Prefix): { define(): >() => (op: Op) => import("./factories.js").ExpectationCreator; expect>(op: string, props: TProps): NodeExpr; };