import type { BaseNode } from "../node.ts"; import type { BaseRoot } from "../roots/root.ts"; import type { BaseScope } from "../scope.ts"; import { Disjoint } from "./disjoint.ts"; import { type IntersectionContext, type RootKind } from "./implement.ts"; type InternalNodeIntersection = (l: l, r: r, ctx: ctx) => l["kind"] | r["kind"] extends RootKind ? BaseRoot | Disjoint : BaseNode | Disjoint | null; export declare const intersectNodesRoot: InternalNodeIntersection; export declare const pipeNodesRoot: InternalNodeIntersection; export declare const intersectOrPipeNodes: InternalNodeIntersection; export {};