import { Geometry } from 'geojson'; import { Observable } from "rxjs"; import { Location } from '../datatypes/location'; import { DataSetColumn } from '../fluent-query/dataset-column'; import { IGeometryFilter } from '../fluent-query/filters/igeometry-filter'; import { ILocationFilter } from '../fluent-query/filters/ilocation-filter'; import { IWhereFilter } from '../fluent-query/filters/where-filter'; import { IQueryable } from '../fluent-query/iqueryable'; import { SoqlQuery, SoqlQueryBuilder } from '../soql-query'; import { ColumnType } from '../soql-query/clauses/column-types'; import { ISodaResource } from './isoda-resource'; import { SodaContext } from "./soda-context"; import { SodaResourceId } from "./soda-resource-id"; export declare class SodaResource implements ISodaResource, IQueryable { readonly Id: SodaResourceId; readonly Context: SodaContext; constructor(TDatasetClass: new (...args: unknown[]) => TEntity, context: SodaContext); getUrl(): string; observable(): Observable; get(query: SoqlQuery | SoqlQueryBuilder): Observable; 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; private createQuery; }