import { Logger } from '@n8n/backend-common';
import { OutboundHttp, SsrfProtectionService } from '@n8n/backend-network';
import { SsrfProtectionConfig } from '@n8n/config';
import type { IHttpRequestOptions, IN8nHttpFullResponse } from 'n8n-workflow';
import type { z } from 'zod';
import { CacheService } from '../../../../services/cache/cache.service';
interface FetchMetadataParams {
    metadataUri: string;
    cachePrefix: string;
    skipCache: boolean;
}
export declare class OAuth2MetadataHttpClient {
    private readonly logger;
    private readonly cache;
    private readonly http;
    constructor(logger: Logger, cache: CacheService, outboundHttp: OutboundHttp, ssrfProtectionService: SsrfProtectionService, ssrfProtectionConfig: SsrfProtectionConfig);
    requestFull(options: IHttpRequestOptions): Promise<IN8nHttpFullResponse>;
    fetchMetadata<T>(schema: z.ZodType<T>, { metadataUri, cachePrefix, skipCache }: FetchMetadataParams): Promise<T>;
}
export {};
