import { Query } from './index.js';
import { IStreamBuilder } from '@electric-sql/d2mini';
import { KeyedStream, NamespacedAndKeyedStream, NamespacedRow } from '../types.js';
/**
 * Creates a processing pipeline for join clauses
 */
export declare function processJoinClause(pipeline: NamespacedAndKeyedStream, query: Query, tables: Record<string, KeyedStream>, mainTableAlias: string, allInputs: Record<string, KeyedStream>): NamespacedAndKeyedStream;
/**
 * Creates a processing pipeline for join results
 */
export declare function processJoinResults(mainTableAlias: string, joinedTableAlias: string, joinClause: {
    on: any;
    type: string;
}): (pipeline: IStreamBuilder<[key: string, [[string, NamespacedRow] | undefined, [string, NamespacedRow] | undefined]]>) => NamespacedAndKeyedStream;
