import { FromItem } from './SelectFromStep'; import { Condition } from '../../models'; import { OnStep } from './AfterFromStep'; import { Artifacts, BaseStep } from '../BaseStep'; declare abstract class BaseJoinStep extends BaseStep { private readonly joinType; private readonly fromItem; protected constructor(joinType: 'JOIN' | 'LEFT JOIN' | 'RIGHT JOIN' | 'INNER JOIN' | 'FULL OUTER JOIN', prevStep: BaseStep, fromItem: FromItem); on(condition: Condition): OnStep; getStepStatement(artifacts?: Artifacts): string; getStepArtifacts(): Artifacts; } export declare class JoinStep extends BaseJoinStep { constructor(prevStep: BaseStep, fromItem: FromItem); } export declare class LeftJoinStep extends BaseJoinStep { constructor(prevStep: BaseStep, fromItem: FromItem); } export declare class RightJoinStep extends BaseJoinStep { constructor(prevStep: BaseStep, fromItem: FromItem); } export declare class InnerJoinStep extends BaseJoinStep { constructor(prevStep: BaseStep, fromItem: FromItem); } export declare class FullOuterJoinStep extends BaseJoinStep { constructor(prevStep: BaseStep, fromItem: FromItem); } export {};