import { BaseIdentifiable, D2HttpClient, D2Response, IBaseIdentifiable, JunctionOperator, Pager, QueryFilter, QueryModel, RelationshipDirection } from '../models'; export declare class BaseQuery { protected identifiable: IBaseIdentifiable; protected httpClient: D2HttpClient; filters: QueryFilter[]; id?: string; fields: U[]; resourceName: string; singularResourceName: string; pagination: Pager; junctionOperator?: JunctionOperator; constructor(identifiable: IBaseIdentifiable, httpClient: D2HttpClient); select(fields: U[]): this; paginate(pagination: Pager): this; byId(id: string): this; where(params: { attribute: U; value: string; }): this; with(modelQuery: BaseQuery, relationshipDirection?: RelationshipDirection): this; query(): QueryModel; dhisUrl(): string; get(): Promise>; }