import { PATCH_DATATYPE, PatchAddValueParams, PatchAddBackboneElementParams } from "../constants"; /** * This a simple utility to create Parameters resource for FHIR patch operation * https://www.hl7.org/fhir/fhirpatch.html */ export declare class PatchUtils { private REPLACE_OPERATION_NAME; private DELETE_OPERATION_NAME; private MOVE_OPERATION_NAME; private ADD_OPERATION_NAME; private INSERT_OPERATION_NAME; private readonly PARAMETER_PROPERTY_NAME; private baseParameters; /** * * @param path the path to replace value of * @param value the value to replace with * @param valueDataType the data type of value * @returns Parameters resource for FHIR patch replace operation */ createReplaceParameters(path: string, value: any, valueDataType: PATCH_DATATYPE): this; /** * * @param path the path to delete value of * @returns Parameters resource for FHIR patch delete operation */ createDeleteParameters(path: string): this; /** * * @param path the path to property where the index of items needs to be changed * @param source the index to move * @param destination the index where the value will be moved * @returns Parameters resource for FHIR patch move operation */ createMoveParameters(path: string, source: number, destination: number): this; /** * @param path the path at which to add the content * @param name name of the property to add * @param patchAddValueParams the value to replace with & the data type of value * @returns Parameters resource for FHIR patch add operation */ createAddParameters(path: string, name: string, patchAddValueParams: PatchAddValueParams): this; /** * * @param path the path at which to add the content * @param name name of the property to add * @param patchAddValueParams the value to replace with, the data type of value & the backbone element property * @returns */ createAddParametersForBackboneElement(path: string, name: string, patchAddValueParams: PatchAddBackboneElementParams[]): this; /** * * @param path the path at which to insert the value * @param value the value to insert * @param valueDataType the datatype of the value * @param index the index at which the value should be inserted * @returns Parameters resource for FHIR patch insert operation */ createInsertParameters(path: string, value: any, valueDataType: PATCH_DATATYPE, index: number): this; /** * @returns the parameters resource created for FHIR PATCH operation */ getPatchParameters(): { resourceType: string; parameter: any[]; }; /** * Resets the parameter property in PATCH parameters resource */ resetPatchParameters(): this; private getCommonAddParameters; }