import { NetworkClient } from './networkClient';
import { FetchOptions } from './fetchOptions';
import { FetchResponse } from './fetchResponse';
export declare const userAgentHeader: string;
export declare const xBoxUaHeader: string;
export declare const shouldIncludeBoxUaHeader: (options: FetchOptions) => boolean;
type FetchOptionsExtended = FetchOptions & {
    attemptNumber?: number;
    numberOfRetriesOnException?: number;
};
export declare class BoxNetworkClient implements NetworkClient {
    constructor(fields?: Omit<BoxNetworkClient, 'fetch'> & Partial<Pick<BoxNetworkClient, 'fetch'>>);
    fetch(options: FetchOptionsExtended): Promise<FetchResponse>;
}
/**
 * Calculate the exponential backoff time with randomized jitter
 * @param {int} numRetries Which retry number this one will be
 * @param {int} baseInterval The base retry interval set in config
 * @returns {int} The number of milliseconds after which to retry
 */
export declare function getRetryTimeout(numRetries: number, baseInterval: number): number;
export {};
