/**
* Execute a sequence of operations.
* Wraps `language-common/execute` to make working with this API easier.
* @example
* execute(
* create("foo"),
* delete("bar")
* )(state)
* @private
* @param {Operations} operations - Operations to be performed.
* @returns {Operation}
*/
export function execute(...operations: Operations): Operation;
/**
* get group information from OpenSPP
* @public
* @example
* getGroup("GRP_Q4VGGZPF")
* @function
* @param {string} spp_id - The spp_id of the group
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getGroup(spp_id: string, callback?: Function): Operation;
/**
* get individual information from OpenSPP
* @public
* @example
* getIndividual("IND_Q4VGGZPF")
* @function
* @param {string} spp_id - The spp_id of the individual
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getIndividual(spp_id: string, callback?: Function): Operation;
/**
* get group members information from OpenSPP
* @public
* @example
* getGroupMembers("GRP_Q4VGGZPF")
* @function
* @param {string} spp_id - The name of the group
* @param {object} [options={}] - Searching options, eg: limit for limiting number of records returning, order for searching order, offset for skipping records
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getGroupMembers(spp_id: string, options?: object, callback?: Function): Operation;
/**
* get service points information from OpenSPP
* @public
* @example
* getServicePoint("SVP_8P4KP4RT")
* @function
* @param {string} spp_id - The spp_id of the agent
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getServicePoint(spp_id: string, callback?: Function): Operation;
/**
* get groups from OpenSPP
* @public
* @example
search group by domain
* searchGroup([["spp_id", "=", "GRP_Q4VGGZPF"]])
* @example search group by domain with offset
* searchGroup([["spp_id", "ilike", "GRP"]], { offset: 100 }})
* @example search group by complex domain for more accuracy
* searchGroup([["address", "!=", false], ["phone", "!=", false]])
* @function
* @param {Array} domain - searching domain
* @param {object} [options={}] - Searching options, eg: limit for limiting number of records returning, order for ordering search, offset for skipping records
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function searchGroup(domain: any[], options?: object, callback?: Function): Operation;
/**
* get individuals from OpenSPP
* @public
* @example search individual by domain
* searchIndividual([["spp_id", "=", "IND_Q4VGGZPF"]])
* @example search individual by domain with offset
* searchIndividual([["spp_id", "ilike", "IND"]], { offset: 100 })
* @example search individual by complex domain for more accuracy
* searchIndividual([["address", "!=", false], ["birthdate", "=", false]])
* @function
* @param {Array} domain - searching domain
* @param {object} [options={}] - Searching options, eg: limit for limiting number of records returning, order for searching order, offset for skipping records
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function searchIndividual(domain: any[], options?: object, callback?: Function): Operation;
/**
* get program information from OpenSPP
* @public
* @example
* getProgram("PROG_2023_00000001")
* @function
* @param {string} program_id - searching domain
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getProgram(program_id: string, callback?: Function): Operation;
/**
* get programs list from OpenSPP
* @public
* @example
* getPrograms(100)
* @function
* @param {number} [options={}] - offset from start
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getPrograms(options?: number, callback?: Function): Operation;
/**
* get programs list for specific registrant from OpenSPP
* @public
* @example
* getEnrolledPrograms("IND_Q4VGGZPF")
* @function
* @param {string} spp_id - spp_id of group / individual wanted to search
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getEnrolledPrograms(spp_id: string, callback?: Function): Operation;
/**
* enroll registrant to program in OpenSPP
* @public
* @example
* enroll("IND_Q4VGGZPF", "PROG_2023_00000001")
* @function
* @param {string} spp_id - spp_id of group / individual wanted to enroll
* @param {string} program_id - program_id of program
*/
export function enroll(spp_id: string, program_id: string): (state: any) => Promise;
/**
* unenroll registrant from program in OpenSPP
* @public
* @example
* unenroll("IND_Q4VGGZPF", "PROG_2023_00000001")
* @function
* @param {string} spp_id - spp_id of group / individual wanted to unenroll
* @param {string} program_id - program_id of program
*/
export function unenroll(spp_id: string, program_id: string): (state: any) => Promise;
/**
* create new individual for OpenSPP
* @public
* @example
* createIndividual({ name: "Individual 1" })
* @function
* @param {object} data - registrant create data
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function createIndividual(data: object, callback?: Function): Operation;
/**
* create new group for OpenSPP
* @public
* @example
* createGroup({ name: "Group 1" })
* @function
* @param {object} data - registrant create data
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function createGroup(data: object, callback?: Function): Operation;
/**
* update group for OpenSPP
* @public
* @example
* updateGroup("GRP_B2BRHJN2", { name: "Group 1" })
* @function
* @param {string} group_id - group registrant id
* @param {object} data - registrant update data
* @returns {Operation}
*/
export function updateGroup(group_id: string, data: object): Operation;
/**
* update individual for OpenSPP
* @public
* @example
* updateIndividual("IND_8DUQL4M4", { name: "Individual 1" })
* @function
* @param {string} individual_id - individual registrant id
* @param {object} data - registrant update data
* @returns {Operation}
*/
export function updateIndividual(individual_id: string, data: object): Operation;
/**
* add individual to group in OpenSPP
* @public
* @example create a new head for group
* addToGroup("GRP_B2BRHJN2", "IND_8DUQL4M4", "Head")
* @example create a new ordinary member for group
* addToGroup("GRP_B2BRHJN2", "IND_8DUQL4M4")
* @example create a new member with new role for group
* addToGroup("GRP_B2BRHJN2", "IND_8DUQL4M4", "new-role-name")
* @function
* @param {string} group_id - group registrant id
* @param {string} individual_id - individual registrant id
* @param {string} role - individual role in group
* @returns {Operation}
*/
export function addToGroup(group_id: string, individual_id: string, role?: string): Operation;
/**
* remove individual from group in OpenSPP
* @public
* @example
* removeFromGroup("GRP_B2BRHJN2", "IND_8DUQL4M4")
* @function
* @param {string} group_id - group registrant id
* @param {string} individual_id - individual registrant id
* @returns {Operation}
*/
export function removeFromGroup(group_id: string, individual_id: string): Operation;
/**
* searching for service point in OpenSPP
* @public
* @example search without offset
* searchServicePoint([["name", "ilike", "agent 1"]])
* @example search with offset
* searchServicePoint([["name", "ilike", "agent 1"]], { offset: 100 })
* @function
* @param {Array} domain - searching domain
* @param {object} [options={}] - Searching options, eg: limit for limiting number of records returning, order for searching order, offset for skipping records
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function searchServicePoint(domain: any[], options?: object, callback?: Function): Operation;
/**
* get area by id in OpenSPP
* @public
* @example
* getArea("LOC_7M92NLDH")
* @function
* @param {string} spp_id - spp_id of area
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function getArea(spp_id: string, callback?: Function): Operation;
/**
* searching for service point in OpenSPP
* @public
* @example search without offset
* searchArea([["code", "=", "10732"]])
* @example search with offset
* searchArea([["kind", "=", 1]], { offset: 10 }})
* @function
* @param {Array} domain - searching domain
* @param {object} [options={}] - Searching options, eg: limit for limiting number of records returning, order for searching order, offset for skipping records
* @param {function} callback - An optional callback function
* @returns {Operation}
*/
export function searchArea(domain: any[], options?: object, callback?: Function): Operation;
export { combine, dataPath, dataValue, dateFns, each, field, fields, fn, fnIf, lastReferenceValue, log, merge, sourceValue } from "@openfn/language-common";