type CreatePollApiProps<Args extends unknown[], Res> = {
    apiFn: (...args: Args) => Promise<Res>;
    /** interval in milliseconds between each call */
    intervalMillis: number;
    /** maximum retries for pending case. Beyond this, the response will be treated as error */
    maxRetries: number;
    /** optional increase in interval millis after each retry */
    increaseIntervalMillis?: number;
    /** the function to verify if success condition is satisfied */
    isSatisfied: (body: Res) => boolean;
    /** optional function to push pending results */
    pushIntermediateResults?: (body: Res | null) => void;
};
export declare const promiseDelay: (delay: number) => Promise<unknown>;
export declare const createPollApi: <Args extends unknown[], Res>({ apiFn, intervalMillis, maxRetries, increaseIntervalMillis, isSatisfied, pushIntermediateResults }: CreatePollApiProps<Args, Res>) => (...args: Args) => Promise<Res>;
export {};
//# sourceMappingURL=poll.d.ts.map