ts-sql-query
Version:
Type-safe SQL query builder like QueryDSL or JOOQ in Java or Linq in .Net for TypeScript with MariaDB, MySql, Oracle, PostgreSql, Sqlite and SqlServer support.
219 lines • 193 kB
TypeScript
import type { AnyDB } from "../databases";
import type { ITableOrViewRef, NoTableOrViewRequired } from "../utils/ITableOrView";
import type { BooleanValueSource, NumberValueSource, StringValueSource, DateValueSource, TimeValueSource, DateTimeValueSource, EqualableValueSource, IntValueSource, DoubleValueSource, LocalDateValueSource, LocalTimeValueSource, LocalDateTimeValueSource, TypeSafeStringValueSource, StringNumberValueSource, StringIntValueSource, StringDoubleValueSource, ComparableValueSource, MapArgumentToTypeSafe, RemapValueSourceType, TypeOfArgument, MapArgumentToTypeUnsafe, SafeArgForFn, UnsafeArgForFn, IfValueSource, SafeArgForBuilderIfValue, UnsafeArgForBuilderIfValue, IBooleanValueSource, IIfValueSource, BigintValueSource, TypeSafeBigintValueSource, OptionalType, ValueSourceOf, TypeSafeUuidValueSource, UuidValueSource, CustomIntValueSource, CustomDoubleValueSource, CustomUuidValueSource, CustomLocalDateTimeValueSource, CustomLocalDateValueSource, CustomLocalTimeValueSource, IValueSource, SafeArgBaseTypeForFn, RemapValueSourceTypeWithOptionalType, OptionalTypeOfValue, MergeOptionalUnion, UnsafeArgBaseTypeForFn } from "../expressions/values";
import type { optionalType, tableOrView } from "../utils/symbols";
export interface BooleanFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): BooleanValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): BooleanValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): BooleanValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): BooleanValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): BooleanValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): BooleanValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): BooleanValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): BooleanValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): BooleanValueSource<T, OPTIONAL_TYPE>;
}
export interface StringIntFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): StringIntValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): StringIntValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): StringIntValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): StringIntValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): StringIntValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): StringIntValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): StringIntValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): StringIntValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): StringIntValueSource<T, OPTIONAL_TYPE>;
}
export interface StringNumberFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): StringNumberValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): StringNumberValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): StringNumberValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): StringNumberValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): StringNumberValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): StringNumberValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): StringNumberValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): StringNumberValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): StringNumberValueSource<T, OPTIONAL_TYPE>;
}
export interface IntFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): IntValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): IntValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): IntValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): IntValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): IntValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): IntValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): IntValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): IntValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): IntValueSource<T, OPTIONAL_TYPE>;
}
export interface NumberFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): NumberValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): NumberValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): NumberValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): NumberValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): NumberValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): NumberValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): NumberValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): NumberValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): NumberValueSource<T, OPTIONAL_TYPE>;
}
export interface BigintFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): BigintValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): BigintValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): BigintValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): BigintValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): BigintValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): BigintValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): BigintValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): BigintValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): NumberValueSource<T, OPTIONAL_TYPE>;
}
export interface TypeSafeBigintFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): TypeSafeBigintValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): TypeSafeBigintValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): TypeSafeBigintValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): TypeSafeBigintValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): TypeSafeBigintValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): TypeSafeBigintValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): TypeSafeBigintValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): TypeSafeBigintValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): NumberValueSource<T, OPTIONAL_TYPE>;
}
export interface StringDoubleFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): StringDoubleValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): StringDoubleValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): StringDoubleValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): StringDoubleValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): StringDoubleValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): StringDoubleValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): StringDoubleValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): StringDoubleValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): StringDoubleValueSource<T, OPTIONAL_TYPE>;
}
export interface DoubleFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): DoubleValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): DoubleValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): DoubleValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): DoubleValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): DoubleValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): DoubleValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): DoubleValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): DoubleValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): DoubleValueSource<T, OPTIONAL_TYPE>;
}
export interface TypeSafeStringFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): TypeSafeStringValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): TypeSafeStringValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): TypeSafeStringValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): TypeSafeStringValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): TypeSafeStringValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): TypeSafeStringValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): TypeSafeStringValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): TypeSafeStringValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): TypeSafeStringValueSource<T, OPTIONAL_TYPE>;
}
export interface StringFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): StringValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): StringValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): StringValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): StringValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): StringValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): StringValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): StringValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): StringValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): StringValueSource<T, OPTIONAL_TYPE>;
}
export interface TypeSafeUuidFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): TypeSafeUuidValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): TypeSafeUuidValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): TypeSafeUuidValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): TypeSafeUuidValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): TypeSafeUuidValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): TypeSafeUuidValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): TypeSafeUuidValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): TypeSafeUuidValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): TypeSafeUuidValueSource<T, OPTIONAL_TYPE>;
}
export interface UuidFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): UuidValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): UuidValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): UuidValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): UuidValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): UuidValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): UuidValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): UuidValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): UuidValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): UuidValueSource<T, OPTIONAL_TYPE>;
}
export interface LocalDateFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): LocalDateValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): LocalDateValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): LocalDateValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): LocalDateValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): LocalDateValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): LocalDateValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): LocalDateValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): LocalDateValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): LocalDateValueSource<T, OPTIONAL_TYPE>;
}
export interface DateFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): DateValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): DateValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): DateValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): DateValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): DateValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): DateValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): DateValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): DateValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): DateValueSource<T, OPTIONAL_TYPE>;
}
export interface LocalTimeFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): LocalTimeValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): LocalTimeValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): LocalTimeValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): LocalTimeValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): LocalTimeValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): LocalTimeValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): LocalTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): LocalTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): LocalTimeValueSource<T, OPTIONAL_TYPE>;
}
export interface TimeFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): TimeValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): TimeValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): TimeValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): TimeValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): TimeValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): TimeValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): TimeValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): TimeValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): TimeValueSource<T, OPTIONAL_TYPE>;
}
export interface LocalDateTimeFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): LocalDateTimeValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): LocalDateTimeValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): LocalDateTimeValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): LocalDateTimeValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): LocalDateTimeValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): LocalDateTimeValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): LocalDateTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): LocalDateTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): LocalDateTimeValueSource<T, OPTIONAL_TYPE>;
}
export interface DateTimeFragmentExpression<DB extends AnyDB, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): DateTimeValueSource<NoTableOrViewRequired<DB>, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): DateTimeValueSource<T1, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): DateTimeValueSource<T1 | T2, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): DateTimeValueSource<T1 | T2 | T3, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>): DateTimeValueSource<T1 | T2 | T3 | T4, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>): DateTimeValueSource<T1 | T2 | T3 | T4 | T5, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>): DateTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>, T5 extends ITableOrViewRef<DB>, T6 extends ITableOrViewRef<DB>, T7 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>, p4: ValueSourceOf<T4>, p5: ValueSourceOf<T5>, p6: ValueSourceOf<T6>, p7: ValueSourceOf<T7>): DateTimeValueSource<T1 | T2 | T3 | T4 | T5 | T6 | T7, OPTIONAL_TYPE>;
sql<T extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, ...p: ValueSourceOf<T>[]): DateTimeValueSource<T, OPTIONAL_TYPE>;
}
export interface EqualableFragmentExpression<DB extends AnyDB, TYPE, TYPE_NAME, OPTIONAL_TYPE extends OptionalType> {
sql(sql: TemplateStringsArray): EqualableValueSource<NoTableOrViewRequired<DB>, TYPE, TYPE_NAME, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>): EqualableValueSource<T1, TYPE, TYPE_NAME, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>): EqualableValueSource<T1 | T2, TYPE, TYPE_NAME, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>>(sql: TemplateStringsArray, p1: ValueSourceOf<T1>, p2: ValueSourceOf<T2>, p3: ValueSourceOf<T3>): EqualableValueSource<T1 | T2 | T3, TYPE, TYPE_NAME, OPTIONAL_TYPE>;
sql<T1 extends ITableOrViewRef<DB>, T2 extends ITableOrViewRef<DB>, T3 extends ITableOrViewRef<DB>, T4 extends ITableOrViewRef<DB>>(sql: TemplateStringsAr