import ParseObject from './ParseObject';
import type { BaseRequestOptions } from './RESTController';
export type RunOptions = BaseRequestOptions;
/**
* Contains functions for calling and declaring
* cloud functions.
*
* Some functions are only available from Cloud Code.
*
*
* @class Parse.Cloud
* @static
* @hideconstructor
*/
/**
* Makes a call to a cloud function.
*
* @function run
* @name Parse.Cloud.run
* @param {string} name The function name.
* @param {object} data The parameters to send to the cloud function.
* @param {object} options
* Valid options are:
* - useMasterKey: In Cloud Code and Node only, causes the Master Key to
* be used for this request.
*
- sessionToken: A valid session token, used for making a request on
* behalf of a specific user.
*
- installationId: the installationId which made the request
*
- context: A dictionary that is accessible in Cloud Code triggers.
*
* @returns {Promise} A promise that will be resolved with the result
* of the function.
*/
export declare function run any>(name: string, data?: null, options?: RunOptions): Promise>;
export declare function run[0]]: Parameters[0][P];
}) => any>(name: string, data: Parameters[0], options?: RunOptions): Promise>;
/**
* Gets data for the current set of cloud jobs.
*
* @function getJobsData
* @name Parse.Cloud.getJobsData
* @returns {Promise} A promise that will be resolved with the result
* of the function.
*/
export declare function getJobsData(): Promise;
/**
* Starts a given cloud job, which will process asynchronously.
*
* @function startJob
* @name Parse.Cloud.startJob
* @param {string} name The function name.
* @param {object} data The parameters to send to the cloud function.
* @returns {Promise} A promise that will be resolved with the jobStatusId
* of the job.
*/
export declare function startJob(name: string, data: any): Promise;
/**
* Gets job status by Id
*
* @function getJobStatus
* @name Parse.Cloud.getJobStatus
* @param {string} jobStatusId The Id of Job Status.
* @returns {Parse.Object} Status of Job.
*/
export declare function getJobStatus(jobStatusId: string): Promise;