import { Geometry } from 'geojson'; import { Observable } from 'rxjs'; import { ISodaResource } from '../client/isoda-resource'; import { Location } from '../datatypes/location'; import { ColumnType } from '../soql-query/clauses/column-types'; import { WhereFilterType } from '../soql-query/clauses/where/where-filters-type'; import { SoqlQueryBuilder } from '../soql-query/soql-query-builder'; import { DataSetColumn } from './dataset-column'; import { IGeometryFilter } from './filters/igeometry-filter'; import { ILocationFilter } from './filters/ilocation-filter'; import { IWhereFilter } from './filters/where-filter'; import { IFilteredQueryable } from './ifiltered-queryable'; import { IInternalQuery } from './iinternal-query'; import { IQueryable } from './iqueryable'; export declare class FluentQuery implements IQueryable, IInternalQuery { readonly sodaResource: ISodaResource; private readonly queryBuilder; constructor(sodaResource: ISodaResource, queryBuilder?: SoqlQueryBuilder); select(column: DataSetColumn): IQueryable; where(column: DataSetColumn): IWhereFilter; location(column: (type: TEntity) => Location): ILocationFilter; geometry(column: (type: TEntity) => Geometry): IGeometryFilter; limit(records: number): IQueryable; offset(records: number): IQueryable; orderBy(column: DataSetColumn, descending?: boolean): IQueryable; observable(): Observable; toString(): string; and(column: DataSetColumn): IWhereFilter; or(column: DataSetColumn): IWhereFilter; addFilter(...filters: WhereFilterType[]): IFilteredQueryable; private updateQuery; private cloneBuilder; }