/** * Splitit.OnBoarding.Api.V2 * Splitit\'s Onboarding API * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This file is auto generated by Konfig (https://konfigthis.com). * https://konfigthis.com * Do not edit the class manually. */ import { AxiosPromise } from "axios"; import { PageBase, PageInfo, PageParameterProperties, PageParameters } from "./page-types"; export type PageParametersBase = Parameters & { requestBody?: Parameters; }; export type PageRequest = (parameters: Parameters) => AxiosPromise; export declare abstract class Pageable { readonly data: Data; protected readonly initialParameters: Parameters; private readonly _request; previous(): Promise>; next(): Promise>; /** * Generate minimal set of parameters needed to get the previous page */ protected abstract get previousParameters(): PageParameterProperties | null; /** * Generate minimal set of parameters needed to get the next page */ protected abstract get nextParameters(): PageParameterProperties | null; /** * Is there a previous page based on PageInfo? */ abstract hasPrevious(): boolean; /** * Is there a next page based on PageInfo? */ abstract hasNext(): boolean; /** * Helper for invoking a request. Handles request body and parameter based pagination */ private makeRequest; /** * Helper for creating new page */ private withData; constructor({ data, initialParameters, request, }: { data: Data; initialParameters: Parameters; request: PageRequest; }); abstract make(parameters: { data: Data; initialParameters: Parameters; request: PageRequest; }): Pageable; }