import { INode } from '../nodes'; import Context, { Match } from '../context'; import { IReferenceConstraint } from '../constraint'; import { IJoinReferenceNode } from './join-reference-node'; import { IMemory } from './misc/memory'; export declare function addConstraint(node: IJoinReferenceNode, constraint: IReferenceConstraint): void; export interface IJoinReferenceNode extends INode { constraint: IReferenceConstraint; isDefault: boolean; leftMemory: IMemory; rightMemory: IMemory; equal(node: IJoinReferenceNode): boolean; isMatch(lc: Context, rc: Context): boolean; match(lc: Context, rc: Context): Match; } export declare function create_join_reference_node(leftMemory: IMemory, rightMemory: IMemory): IJoinReferenceNode;