///
import { Form, IFilterReference, IParam, MxObject, SortSpecifies } from "./interfaces";
/** Function to create new Mendix object.
* - Return the object if successful
* - Return undefined if failed
*/
export declare function createNewObject(entity: string): Promise;
/** Function to create then commit a Mendix object.
* - Return the object if successful
* - Return undefined if failed
*/
export declare function createThenCommit(entity: string, paramList: IParam[]): Promise;
/** Function to commit a Mendix object.
* - Return the object if successful
* - Return undefined if failed
*
* Note: commit function of mx.data doesn't return a result
*/
export declare function commitObject(mxobj: MxObject, paramList: IParam[]): Promise;
/** Function to commit a Mendix object by Id
* - Return the object if successful
* - Return undefined if failed
*/
export declare function commitObjectById(entityId: string, paramList: IParam[]): Promise;
/** Function to delete a Mendix object by Id
* - Return the id if successful
* - Return undefined if failed
*/
export declare function deleteObjectById(guid: string): Promise;
export declare function deleteObjectWithConfirmation(content: string, guid: string, callback?: (id: string | undefined) => void): void;
/** Function to retrieve a Mendix object by Id
* - Return the first object if successful
* - Return undefined if failed
*/
export declare function retrieveObjectById(guid: string, noCache?: boolean): Promise;
export declare function retrieveObjectsByXpathAndId(entityName: string, guid: string, attributes: string[], references?: IFilterReference, sortSpec?: SortSpecifies, limit?: number): Promise;
/** Function to retrieve a Mendix object by Xpath
* - Return the array of objects if successful
* - Return undefined if failed
*/
export declare function retrieveObjectsByXpath(xpathString: string, attributes: string[], references?: IFilterReference, sortSpec?: SortSpecifies, limit?: number): Promise;
export declare function callNanoflow(nanoflow: mx.Nanoflow, entityType: string, entity: MxObject, showProgress?: boolean): Promise;
export declare function callMicroflow(microflow: string, guid: string, showProgress?: boolean, showErrorInPopup?: boolean, progressMsg?: string): Promise;
export declare function callMicroflowWithConfirmation(content: string, mf: string, guid: string, showProgress?: boolean, showErrorInPopup?: boolean, callback?: (param: any) => any): void;
export declare function callMicroflows(microflows: string[], guid: string): Promise;
export declare function callMicroflowsWithSpecificCallback(guid: string, microflows: Array<{
mf: string;
callback?: (result: any) => void;
}>): Promise;
export declare function callMicroflowWithHelper(microflowName: string, helperEntityName: string, paramList: IParam[], showProgress?: boolean, showErrorInPopup?: boolean, progressMsg?: string): Promise;
export declare function callConfirmation(content: string, handler?: () => any, proceedTitle?: string, cancelTitle?: string): void;
export declare function openForm(formPath: string, entity: MxObject, formTitle?: string, callback?: (form: Form) => void): void;
export declare function openFormByHelper(formPath: string, helperEntityName: string, paramList: IParam[], showProgress?: boolean): Promise;
export declare function rollback(entity: MxObject): Promise;
export declare function subscribe(guid: any, callback: any): number;
export declare function subscribeToClass(entity: string, callback: any): number;
export declare function unsubscribe(handler: number): void;
export declare function throwError(errorMessage: string, modal?: boolean): void;