import { ISql } from "@trong-orm/sql"; import { IBaseToken, TokenType } from "../types"; import { ISelectStatement } from "./statements/select"; import { IValuesStatement } from "./statements/values"; declare type IUnionArg = ISelectStatement | IValuesStatement | ISql; export interface ICompoundOperator extends IBaseToken { _compoundType: "UNION" | "UNION ALL" | "INTERSECT" | "EXCEPT"; _value: ISelectStatement | IValuesStatement | IBaseToken; } export interface ICompoundState { _compoundValues: ICompoundOperator[]; union: typeof union; unionAll: typeof unionAll; intersect: typeof intersect; except: typeof except; withoutCompound: typeof withoutCompound; } export declare function union(this: T, ...values: IUnionArg[]): T; export declare function unionAll(this: T, ...values: IUnionArg[]): T; export declare function intersect(this: T, ...values: IUnionArg[]): T; export declare function except(this: T, ...values: IUnionArg[]): T; export declare function withoutCompound(this: T): T & { _compoundValues: never[]; }; export {};