import { entityKind, SQL } from 'drizzle-orm'; import { PodTable, PodColumnBase, InferTableData } from '../schema'; import { QueryCondition, type PublicQueryCondition, type PublicWhereObject } from '../query-conditions'; import { SelectQueryPlan } from '../select-plan'; import { SelectFieldMap, SessionInterface } from './types'; import { type OrderByExpression } from '../order-by'; import { SelectionAliasExpression } from '../expressions'; export declare class SelectQueryBuilder = PodTable> { session: SessionInterface; static readonly [entityKind] = "SelectQueryBuilder"; selectedTable?: TTable; whereConditions?: Record; private conditionTree?; sql?: SQL; private joins; private limitCount?; private offsetCount?; private orderByClauses; private isDistinct; private selectedFields?; private tableAliases; private aliasToTable; private aliasUsage; private primaryAlias?; private joinFilters; private groupByColumns; private havingCondition?; constructor(session: SessionInterface, fields?: SelectFieldMap); from>(table: TJoinTable): SelectQueryBuilder; columns(fields: SelectFieldMap): this; private setSelectedFields; /** * Add WHERE conditions to the query * * Public where() is collection-oriented. * Exact-target reads must use findById()/findByIri(). */ where(conditions: PublicWhereObject | SQL | PublicQueryCondition): this; /** * Internal method that allows @id in conditions. * Used by *ByIri methods internally. * @internal */ whereByIri(iri: string | string[]): this; private isQueryCondition; private convertQueryConditionToSimple; private extractTableFromCondition; leftJoin>(table: TJoinTable, condition: any): SelectQueryBuilder; rightJoin>(table: TJoinTable, condition: any): SelectQueryBuilder; innerJoin>(table: TJoinTable, condition: any): SelectQueryBuilder; fullJoin>(table: TJoinTable, condition: any): SelectQueryBuilder; crossJoin>(table: TJoinTable): SelectQueryBuilder; groupBy(...fields: Array): SelectQueryBuilder; having(condition: QueryCondition | ((fields: Record) => QueryCondition)): SelectQueryBuilder; private createSelectedFieldAliases; private addJoin; private ensureAliasForTable; private resolveJoinConditions; private resolveJoinConditionExpression; private getConditionColumnReference; private resolveColumnReference; private parseColumnReferenceString; private processWhereObject; private processQueryCondition; private applyInternalQueryCondition; private normalizeWhereConditions; toIR(): SelectQueryPlan; private buildQueryPlan; limit(count: number): this; offset(count: number): this; private addOrderByClause; orderBy(...args: Array): this; distinct(enable?: boolean): this; private buildSPARQLQuery; toSPARQL(): any; toSparql(): any; execute(): Promise[]>; private projectSelectedRow; private projectFieldMap; private projectFieldValue; private projectTableValue; private isSelectFieldMap; private collectSelectionAliases; private isProjectedValueEmpty; private resolveFieldBindingCandidates; private shouldUseProjectionFallback; private shouldUseAggregateFallback; private buildAggregateRow; private computeAggregateValue; private resolveAggregateColumnRef; private collectValuesForCount; private collectNumericValues; private countDistinctRows; private handleAggregateFallback; private buildGroupedAggregateRows; private ensureGroupByValidity; private resolveSelectFieldColumn; private hasAggregateSelection; private hasMixedAggregateSelection; private applySubjectMetadata; private extractSubjectValue; private attachSubjectMetadata; private normalizeBaseRows; private hydrateInlineColumns; private normalizeInlinePredicateKey; private normalizeInlineObjectValue; private normalizeInlineIri; private applyDeferredOrderBy; private applyDistinctRows; private applyDeferredOffsetAndLimit; private getOrderByValue; private compareOrderByValues; private mergeRowsBySubject; private getColumnDefinitionForRowKey; private inferSourceFromChild; private isInlineObjectColumn; private applyJoinFallback; private fetchJoinRows; private buildExactJoinLookupConditions; private buildJoinLookupCondition; private getRequiredSubjectTemplateVariables; private isAbsoluteIri; private buildMissingJoinLocatorError; private normalizeJoinRows; private mergeRowsWithJoin; private joinRowMatchesAllConditions; private createEmptyJoinRow; private applyJoinFilters; private applyHavingFilter; private evaluateCondition; private evaluateBinaryCondition; private evaluateUnaryCondition; private evaluateLogicalCondition; private resolveConditionOperandValue; private getColumnKeyCandidates; private getRowValueForColumn; private shouldUseSubjectIdentityColumn; private serializeValueForKey; private extractIdFromSubject; private computeLikeMatch; selectIdsByCondition(table: PodTable, condition: QueryCondition): Promise; then['execute']>>, TResult2 = never>(onfulfilled?: ((value: Awaited['execute']>>) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; } //# sourceMappingURL=select-query-builder.d.ts.map