import * as core from '@prismamedia/graphql-platform'; import * as utils from '@prismamedia/graphql-platform-utils'; import { type OrderingExpression } from '../clause/ordering-expression.js'; import { type SelectExpression } from '../clause/select-expression.js'; import { type TableFactor } from '../clause/table-reference.js'; import { type WhereCondition } from '../clause/where-condition.js'; export interface AbstractSelectOptions { select?: utils.Thunkable | undefined, [ tableReference: TableFactor ]>; where?: utils.Thunkable; having?: utils.Thunkable; ordering?: utils.Thunkable | undefined, [ tableReference: TableFactor ]>; offset?: number; limit?: number; forUpdate?: boolean; } export declare abstract class AbstractSelect { readonly tableReference: TableFactor; readonly selectExpressions: ReadonlyArray; readonly whereCondition?: WhereCondition; readonly havingCondition?: WhereCondition; readonly orderingExpressions?: ReadonlyArray; readonly limit?: number; readonly offset?: number; readonly forUpdate?: boolean; constructor(tableReference: TableFactor, options?: AbstractSelectOptions); toString(): string; } export declare class Subquery extends AbstractSelect { toString(): string; } export declare abstract class AbstractAuthorizedTable extends Subquery { constructor(tableReference: TableFactor, filter: core.NodeFilter); } export declare class AuthorizedTableCTE extends AbstractAuthorizedTable { readonly name: string; toString(): string; } export declare class AuthorizedTableDerivedTable extends AbstractAuthorizedTable { } //# sourceMappingURL=select.d.ts.map