import type { Collection, CollectionProp, CursorPaginatedCollection, CursorPaginatedCollectionProp, MakeRequest, OptionalCursorApi } from './common-types';
/**
 * @private
 */
export declare const wrapCollection: <R, T, Rest extends any[]>(fn: (makeRequest: MakeRequest, entity: T, ...rest: Rest) => R) => (makeRequest: MakeRequest, data: CollectionProp<T>, ...rest: Rest) => Collection<R, T>;
/**
 * @private
 * Function for endpoints allowing `?cursor=true` wrapping the call
 * to ensure the correct return type for cursor based pagination
 * when `cursor: true`.
 */
export declare const withOptionalCursorApi: <P, T, TPlain>(fn: OptionalCursorApi<P, T, TPlain>) => OptionalCursorApi<P, T, TPlain>;
export declare const wrapCursorPaginatedCollection: <R, T, Rest extends any[]>(fn: (makeRequest: MakeRequest, entity: T, ...rest: Rest) => R) => (makeRequest: MakeRequest, data: CursorPaginatedCollectionProp<T>, ...rest: Rest) => CursorPaginatedCollection<R, T>;
export declare function isSuccessful(statusCode: number): boolean;
export declare function shouldRePoll(statusCode: number): boolean;
export declare function waitFor(ms?: number): Promise<unknown>;
