import { AsynchronousResponseBody } from '../generated/models/AsynchronousResponseBody';
import { AsynchronousJobStatus } from '../generated/models/AsynchronousJobStatus';
/**
* Waits for an asynchronous job to complete. This function will poll the server (based on the implementation of
* getAsyncResult) until the job is no longer in the PROCESSING state.
* @param getAsyncResult - A function that returns a promise that resolves to the current status of the job, or the job
* result. This function should be implemented to call the server using the service-specific API (i.e. this function
* should not call GET /asynchronous/job/{jobId}).
* @param options
* @throws SynapseClientError if the job fails
*/
export declare function waitForAsyncResult(getAsyncResult: () => Promise, options?: {
onCurrentStatusRetrieved: (response: T) => void;
}): Promise;