import type { AxiosRequestConfig, AxiosResponse } from 'axios';
/**
 * Poll the URL with a 5 second interval until the step has data
 * available
 * @param url an URL object
 * @param index The index of the step to be polled for
 * @param maximumAttempts The maximum amount of tries for this poll
 * @param attemptCount The amount of attempts already done by the poll, should be left blank
 * @returns The updated JSON response
 */
export declare function pollUntilHasData(request: AxiosRequestConfig, dataParser: (json: any) => boolean, maximumAttempts?: number, attemptCount?: number): Promise<any>;
/**
 * Poll the URL with a 5 second interval until it responds with success
 * @param url An URL object
 * @param validate A function that checks if the request is "ok" or valid
 * @param maximumAttempts The maximum amount of tries for this poll
 * @param attemptCount The amount of attempts already done by the poll, should be left blank
 * @param pollingInterval The frequency the api will be polled
 * @returns When it has finished polling
 */
export declare function pollUntilOk(request: AxiosRequestConfig, validate?: (res: AxiosResponse) => boolean, maximumAttempts?: number, attemptCount?: number, pollingInterval?: number): Promise<true | undefined>;
//# sourceMappingURL=pollApi.d.ts.map