subquery.d.ts 1.0 KB

1234567891011121314151617181920
  1. import { entityKind } from "./entity.js";
  2. import type { SQL, SQLWrapper } from "./sql/sql.js";
  3. export interface Subquery<TAlias extends string = string, TSelectedFields extends Record<string, unknown> = Record<string, unknown>> extends SQLWrapper {
  4. }
  5. export declare class Subquery<TAlias extends string = string, TSelectedFields extends Record<string, unknown> = Record<string, unknown>> implements SQLWrapper {
  6. static readonly [entityKind]: string;
  7. _: {
  8. brand: 'Subquery';
  9. sql: SQL;
  10. selectedFields: TSelectedFields;
  11. alias: TAlias;
  12. isWith: boolean;
  13. usedTables?: string[];
  14. };
  15. constructor(sql: SQL, fields: TSelectedFields, alias: string, isWith?: boolean, usedTables?: string[]);
  16. }
  17. export declare class WithSubquery<TAlias extends string = string, TSelection extends Record<string, unknown> = Record<string, unknown>> extends Subquery<TAlias, TSelection> {
  18. static readonly [entityKind]: string;
  19. }
  20. export type WithSubqueryWithoutSelection<TAlias extends string> = WithSubquery<TAlias, {}>;