import { AxiosRequestConfig, AxiosResponse } from 'axios';
import { ViewerPluginProps } from '../../../shared/BasePluginTypes';
import { CDMResponse, ServiceUrls } from './apiTypes';
export declare const getDocumentServiceAxiosConfig: (queryParams?: AxiosRequestConfig['params'] & {
    locale?: string;
}) => AxiosRequestConfig;
export declare const getListFiltersQueryString: (queryParams: ViewerPluginProps<ServiceUrls>['queryParams']) => string;
interface MultiPageResponseHeaders {
    perPage: number;
    totalItems: number;
}
export interface MultiPageResponse<Data> {
    headers: MultiPageResponseHeaders;
    data: Data;
}
export declare function getParameterCaseInsensitive(object: Record<string, string | number>, key: string): string | number | undefined;
export declare function formatMultiPageResponse<Data>(axiosResponse: AxiosResponse<CDMResponse<Data>>): MultiPageResponse<Data>;
export declare function getTotalNumPagesFromResponse(responseHeaders: MultiPageResponseHeaders): number;
export declare function getAllPagesFromListEndpoint<HandlerValue, HandlerParams>(fetchHandler: (params: HandlerParams & {
    page: number;
}) => Promise<MultiPageResponse<HandlerValue[]> | undefined>, fetchArgs: HandlerParams): Promise<HandlerValue[]>;
export {};
