import type { AxiosResponse } from 'axios'; export type MergeDataFn = (data: T, newData: T) => T; export type ExtractDataFromResponseFn = (response: AxiosResponse) => T; export type IsEofFn = (response: AxiosResponse) => boolean; export type RetryOnError = (exception: any) => Promise; export type InvokeNextRequestFn = (previousResponse: AxiosResponse | undefined) => Promise; export declare function paginateGenerator(extractDataFromResponse: ExtractDataFromResponseFn, isEof: IsEofFn, invokeNextRequest: InvokeNextRequestFn, delayMs?: number, retryOnError?: RetryOnError, paginateId?: number): AsyncGenerator, void, unknown>; export declare function paginate(mergeData: MergeDataFn, extractDataFromResponse: ExtractDataFromResponseFn, isEof: IsEofFn, invokeNextRequest: InvokeNextRequestFn, delayMs: number, initialData: T, retryOnError?: RetryOnError): Promise;