import { GetColumn } from './value_expressions/get_column_parsing'; import { ColumnRecord } from '../record'; export interface JoinExpression { tableName: string; columns: ColumnRecord; left: LeftSideOfJoin; right: RightSideOfJoin; } export interface LeftSideOfJoin { tableParameterToTableAlias: { [parameter: string]: string; }; getColumn: GetColumn; kind: 'left-side-of-join'; } export declare function createLeftSideOfJoin(tableParameterToTableAlias: { [parameter: string]: string; }, getColumn: GetColumn): LeftSideOfJoin; export interface RightSideOfJoin { tableAlias: string; getColumn: any; kind: 'right-side-of-join'; } export declare function createRightSideOfJoin(tableAlias: string, getColumn: GetColumn): RightSideOfJoin; export declare function parseJoin(tableName: string, columns: ColumnRecord, left: Function, right: Function, nthJoin: number): JoinExpression;