import { AxiosRequestConfig, AxiosResponse, CreateAxiosDefaults } from 'axios'; export interface BasicAuthCredentials { credentialsSource: 'USER_INFO' | 'URL' | 'SASL_INHERIT'; userInfo?: string; sasl?: SaslInfo; } export interface SaslInfo { mechanism?: string; username: string; password: string; } export interface BearerAuthCredentials { credentialsSource: 'STATIC_TOKEN' | 'OAUTHBEARER' | 'OAUTHBEARER_AZURE_IMDS'; token?: string; issuerEndpointUrl?: string; issuerEndpointQuery?: string; clientId?: string; clientSecret?: string; scope?: string; logicalCluster?: string; identityPoolId?: string | string[]; } export interface ClientConfig { baseURLs: string[]; cacheCapacity?: number; cacheLatestTtlSecs?: number; isForward?: boolean; createAxiosDefaults?: CreateAxiosDefaults; basicAuthCredentials?: BasicAuthCredentials; bearerAuthCredentials?: BearerAuthCredentials; maxRetries?: number; retriesWaitMs?: number; retriesMaxWaitMs?: number; } export declare class RestService { private client; private baseURLs; private bearerTokenProvider?; private bearerTokenInitialized; private static oauthBearerTokenProviderBuilders; constructor(baseURLs: string[], isForward?: boolean, axiosDefaults?: CreateAxiosDefaults, basicAuthCredentials?: BasicAuthCredentials, bearerAuthCredentials?: BearerAuthCredentials, maxRetries?: number, retriesWaitMs?: number, retriesMaxWaitMs?: number); handleBasicAuth(basicAuthCredentials?: BasicAuthCredentials): void; handleBearerAuth(maxRetries: number, retriesWaitMs: number, retriesMaxWaitMs: number, bearerAuthCredentials?: BearerAuthCredentials): void; handleRequest(url: string, method: 'GET' | 'POST' | 'PUT' | 'DELETE', data?: any, // eslint-disable-line @typescript-eslint/no-explicit-any config?: AxiosRequestConfig): Promise>; setHeaders(headers: Record): void; setAuth(basicAuth?: string, bearerToken?: string): void; setOAuthBearerToken(): Promise; setTimeout(timeout: number): void; setBaseURL(baseUrl: string): void; }