/** * @file Utilities for resuming and throttling promises */ import { AuthenticationParameters } from './api_interfaces'; /** * interface def */ export interface Backoff { promise_args: T; retry_timeout_ms: number; retry_delay_ms: number; permanent_error_message: string; promise(args: T): Promise; } /** * interface def */ export interface RetryPromise { promise_args: T; retry_delay_ms: number; permanent_error_message: string; promise(args: T): Promise; } /** * backoff */ export declare function backoff(args: Backoff): Promise; /** * retryPromise */ export declare function retryPromise(args: RetryPromise): Promise; /** * sleep */ export declare function sleep(milliseconds: number): Promise; /** * getUTCNowDateString */ export declare function getUTCNowDateString(): string; /** * Custom serializer for axios query parameters */ export declare function authenticationRequestSerializer(params: AuthenticationParameters): string; /** * Replace a parameter placeholder in an url with a value */ export declare function insertPathParameter(path: string, key: string, value: string): string; /** * Get a single url parameter value from an url */ export declare function getUrlParameterValue(url: string, key: string): string | undefined;