import { AgoraDomainHolder } from '../../core/services/domain-holder'; import { AgoraFetchParams, AgoraHttpAuthHeadersProvider } from '../../core/services/type'; import { AgoraRequestScheduler } from 'agora-foundation/lib/restful-scheduler/scheduler'; export declare class AgoraRestfulClientImpl { private _authHeadersProvider; private _domainHolder; private _requestScheduler; private _pathPrefix?; private _retryInterval; private _requestTimeout; private _defaultRetryTimes; constructor(_authHeadersProvider: AgoraHttpAuthHeadersProvider, _domainHolder: AgoraDomainHolder, _requestScheduler: AgoraRequestScheduler); cloneWithUserAndRoomCredential(userId: string, userToken: string, roomToken: string): AgoraRestfulClientImpl; get host(): string; setPathPrefix(pathPrefix: string): void; fetch(params: AgoraFetchParams): Promise; private _sendRequest; private _dispatchRequest; /** * In case this method returns true, the host needs to be switch or the request needs to be retried * @param error * @returns */ private _isLocalOrServerInternalError; private _request; private _generateRequestUrl; }