import { BaseTrackerSDKModel } from '../../tracker/models/base.model'; import { DataValue } from './data-value.model'; import { DHIS2EventAssignedUser, DHIS2EventStatus, EventFieldProperty } from '../interfaces'; import { Program } from '../../program'; export interface IDHIS2Event { storedBy?: string; dueDate?: string; scheduledAt?: string; createdAtClient?: string; program: string; event: string; geometry?: any; programStage: string; orgUnit: string; trackedEntity?: string; enrollment: string; enrollmentStatus?: string; status: DHIS2EventStatus; orgUnitName?: string; lastUpdatedAtClient?: string; eventDate: string; occurredAt: string; attributeCategoryOptions?: string; lastUpdated?: string; created?: string; completedDate?: string; deleted?: boolean; attributeOptionCombo?: string; completedBy?: string; dataValues: DataValue[]; assignedUser?: DHIS2EventAssignedUser; dataValueEntities?: Record; notes?: any[]; relationships?: any[]; [key: string]: any; isCompleted: boolean; metaData?: Record; fields?: Record; setDataValue?: (options: { dataElement: string; value: string; code?: string; }) => void; getDataValue?: (dataElement: string) => DataValue; setStatus?: (status: string) => void; toObject: () => Partial; } export declare class DHIS2Event extends BaseTrackerSDKModel implements IDHIS2Event { storedBy?: string; dueDate?: string; scheduledAt?: string; createdAtClient?: string; program: string; event: string; programStage: string; orgUnit: string; trackedEntity?: string; enrollment: string; enrollmentStatus?: string; status: DHIS2EventStatus; orgUnitName?: string; lastUpdatedAtClient?: string; eventDate: string; geometry: any; occurredAt: string; attributeCategoryOptions?: string; lastUpdated?: string; created?: string; completedDate?: string; deleted?: boolean; attributeOptionCombo?: string; completedBy?: string; dataValues: DataValue[]; assignedUser?: DHIS2EventAssignedUser; notes?: any[]; relationships?: any[]; [key: string]: any; fields: Record; dataValueEntities?: Record; constructor(eventDetails: Partial, config?: { skipAutoGeneration?: boolean; generateIdIfNotExists?: boolean; }); complete(): void; get isCompleted(): boolean; setEventDate(eventDate: string): void; setDataValue(options: { dataElement: string; value: string; code?: string; }): void; setFields(program: Program): void; getDataValue(dataElement: string): DataValue; /** * Sets event geometry from a coordinate string input. * Accepts formats like: * - "[39.319364,-6.069623]" * - "39.319364,-6.069623" * - "39.319364 -6.069623" * and stores as GeoJSON Point in this.geometry. */ setEventGeometry(coordinateValue: string): void; updateDataValues(dataValueEntities: Record): void; setStatus(status?: string): void; toObject(): Partial; }