/**
* State object
*/
export type DHIS2State = any;
/**
* All options, apart from those listed here, will be appended as query parameters to the URL
*/
export type TrackerOptions = {
/**
* - The response format to parse (e.g., 'json', 'text', 'stream', or 'base64'. Defaults to `json`
*/
parseAs?: string;
};
/**
* State object
* @typedef {Object} DHIS2State
* @private
* @property data - The response body (as JSON)
* @property response - The HTTP response from the DHIS2 server (excluding the body)
* @property references - An array of all previous data objects used in the Job
*/
/**
* All options, apart from those listed here, will be appended as query parameters to the URL
* @typedef {Object} TrackerOptions
* @property {string} [parseAs='json'] - The response format to parse (e.g., 'json', 'text', 'stream', or 'base64'. Defaults to `json`
*/
/**
* Import data into DHIS2 using the tracker endpoint.
* @alias import
* @public
* @example
Import some data and pass the `atomicMode` parameter
* tracker.import('CREATE', $.trackerData, { atomicMode: 'ALL' })
* @example Import a trackedEntity resource
* tracker.import(
* 'CREATE',
* {
* trackedEntities: [
* {
* orgUnit: 'TSyzvBiovKh',
* trackedEntityType: 'nEenWmSyUEp',
* attributes: [
* {
* attribute: 'w75KJ2mc4zz',
* value: 'Gigiwe',
* },
* ],
* },
* ],
* },
* {
* atomicMode: 'ALL',
* }
* );
* @function
* @param {string} strategy - The effect the import should have. Can either be CREATE, UPDATE, CREATE_AND_UPDATE and DELETE.
* @param {object} payload - The data to be imported.
* @param {TrackerOptions} [options] - An optional object containing parseAs, and apiVersion, and queries for the request
* @state {DHIS2State}
* @returns {Operation}
*/
declare function _import(strategy: string, payload: object, options?: TrackerOptions): Operation;
/**
* Export data from DHIS2.
* @alias export
* @public
* @example Export a trackedEntity resource using the id
* tracker.export('trackedEntities/Gu5UKnIFnJf')
* @example Export all enrollment resources
* tracker.export('enrollments', {orgUnit: 'TSyzvBiovKh'});
* @example Export all events
* tracker.export('events')
* @function
* @param {string} path - Path to the resource, relative to the /tracker endpoint
* @param {object} query - An object of query parameters to be encoded into the URL
* @param {TrackerOptions} [options] - An optional object containing parseAs, and apiVersion for the request
* @state {DHIS2State}
* @returns {Operation}
*/
declare function _export(path: string, query: object, options?: TrackerOptions): Operation;
export { _import as import, _import as import, _export as export, _export as export };