import type { GithubHttp } from '../../http/github'; import type { GithubDatasourceItem, GithubGraphqlDatasourceAdapter, GithubPackageConfig } from './types'; export declare class GithubGraphqlDatasourceFetcher { private http; private datasourceAdapter; static query(config: GithubPackageConfig, http: GithubHttp, adapter: GithubGraphqlDatasourceAdapter): Promise; private readonly baseUrl; private readonly repoOwner; private readonly repoName; private itemsPerQuery; private queryCount; private cursor; private isPersistent; constructor(packageConfig: GithubPackageConfig, http: GithubHttp, datasourceAdapter: GithubGraphqlDatasourceAdapter); private getCacheNs; private getCacheKey; private getRawQueryOptions; private doRawQuery; private shrinkPageSize; private hasReachedQueryLimit; private doShrinkableQuery; private _cacheStrategy; private cacheStrategy; /** * This method is responsible for data synchronization. * It also detects persistence of the package, based on the first page result. */ private doPaginatedFetch; private doCachedQuery; loadPersistenceFlag(): Promise; storePersistenceFlag(minutes: number): Promise; /** * This method ensures the only one query is executed * to a particular package during single run. */ private doUniqueQuery; getItems(): Promise; }