import { AugmentedRequest, RESTDataSource } from '@apollo/datasource-rest'; import type { KeyValueCache } from '@apollo/utils.keyvaluecache'; import { AccessInfo } from '../auth'; export declare abstract class BaseRESTDataSource extends RESTDataSource { protected readonly token: string; protected cache: KeyValueCache; baseURL: string; constructor(options: { token: string; cache?: KeyValueCache; }); willSendRequest(_path: string, request: AugmentedRequest): void; resolveURL(path: string, _request: AugmentedRequest): Promise; protected invokeGraphqlWithCache(functionName: string, body: object, accessInfo?: AccessInfo, allowCache?: boolean, ttlSeconds?: number): Promise; private invokeGraphql; protected invokeRestWithCache(functionName: string, path: string, body: object, accessInfo?: AccessInfo, allowCache?: boolean, ttlSeconds?: number): Promise; private invokeRest; protected invokeExternalRestPost(functionName: string, path: string, body: object | string, headers?: object): Promise; protected invokeExternalRestGet(functionName: string, path: string, headers?: object): Promise; }