import { GraphQLResponse } from '../../types'; import { AuthenticationService } from '../auth'; import { MultiLevelCache } from '../../cache'; export interface GraphQLRequestOptions { cache?: boolean; cacheTTL?: number; timeout?: number; retries?: number; } export declare class GraphQLClient { private baseUrl; private auth; private cache?; private timeout; private lastRequestTime; private readonly minRequestInterval; private readonly burstLimit; private requestTimes; private requestDeduplication; private requestQueue; private isProcessingQueue; private readonly maxConcurrentRequests; private activeRequestCount; constructor(baseUrl: string, auth: AuthenticationService, cache?: MultiLevelCache, timeout?: number); query(query: string, variables?: Record, options?: GraphQLRequestOptions): Promise; mutation(mutation: string, variables?: Record, options?: GraphQLRequestOptions): Promise; private rateLimit; private executeQuery; private handleGraphQLErrors; private generateCacheKey; private extractOperationName; private invalidateMutationCache; batchQuery(queries: Array<{ query: string; variables?: Record; operationName?: string; }>, options?: GraphQLRequestOptions): Promise; raw(query: string, variables?: Record): Promise>; clearCache(): void; private executeWithQueue; private processQueue; getPerformanceStats(): { cacheStats: ReturnType | null; requestStats: { activeRequests: number; queuedRequests: number; deduplicatedRequests: number; averageRequestInterval: number; burstProtectionEngagements: number; }; }; getCacheStats(): ReturnType | null; preloadCommonQueries(): Promise; } //# sourceMappingURL=GraphQLClient.d.ts.map