import { D2HttpClient, D2HttpResponse, DataOrderCriteria, DataQueryFilter, EnrollmentStatus, EventStatus, OuMode, Pager, ProgramDateType } from '../../../shared'; import { Program } from '../../program'; import { D2TrackerResponse, ITrackedEntityInstance, TrackedEntityInstance, TrackerQueryConfig } from '../models'; export type TrackerFetchScope = 'TRACKED_ENTITY' | 'ENROLLMENT'; export declare class BaseTrackerQuery { #private; protected httpClient: D2HttpClient; protected orgUnit?: string; protected ouMode: OuMode; protected program?: string; protected programStage?: string; protected trackedEntityType?: string; protected filters?: DataQueryFilter[]; protected fields?: string; protected enrollmentEnrolledAfter?: string; protected enrollmentEnrolledBefore?: string; protected trackedEntity?: string; protected orderCriterias?: DataOrderCriteria[]; protected enrollmentStatus?: EnrollmentStatus; protected eventStatus?: EventStatus; protected config?: TrackerQueryConfig; event?: string; protected pager: Pager; [key: string]: unknown; instance: T; identifiable: ITrackedEntityInstance; constructor(httpClient: D2HttpClient); setOrgUnit(orgUnitValue: string | string[]): BaseTrackerQuery; setOuMode(ouMode: OuMode): BaseTrackerQuery; setStatus(status: EnrollmentStatus | EventStatus, statusType?: 'ENROLLMENT' | 'EVENT'): BaseTrackerQuery; setEventStatus(status: EventStatus, programStage: string): BaseTrackerQuery; setOrderCriterias(orderCriterias: DataOrderCriteria[]): BaseTrackerQuery; setProgram(program: string): BaseTrackerQuery; setProgramStage(programStage: string): BaseTrackerQuery; setConfig(config: TrackerQueryConfig): BaseTrackerQuery; setStartDate(startDate: string, dateType?: ProgramDateType): BaseTrackerQuery; setEndDate(endDate: string, dateType?: ProgramDateType): BaseTrackerQuery; setTrackedEntity(trackedEntity: string): BaseTrackerQuery; setTrackedEntities(trackedEntities: string[]): BaseTrackerQuery; setTrackedEntityType(trackedEntityType: string): BaseTrackerQuery; setFilters(filters: DataQueryFilter[]): BaseTrackerQuery; setFields(fields: string): BaseTrackerQuery; setPagination(pagination: Pager): BaseTrackerQuery; setData(data: T): BaseTrackerQuery; byEventId(event: string): BaseTrackerQuery; generateReservedValues(instance: T): Promise<{ ownerUid: string; value: string; }[]>; get(config?: { fetchScope: TrackerFetchScope; }): Promise>; create(): Promise; setReservedValues(): Promise; setInstanceFields(program: Program): BaseTrackerQuery; protected fetchFromEvent(dataElementFilters: DataQueryFilter[], baseUrl: string): Promise; protected fetchData(fetchScope: TrackerFetchScope): Promise; save(): Promise>; getMetaData(config?: { skipProgramRules?: boolean; }): Promise; }