import { OnApplicationShutdown } from '@nestjs/common'; import { EventEmitter2 } from '@nestjs/event-emitter'; import { ApiPromise } from '@polkadot/api'; import { RuntimeVersion, Header } from '@polkadot/types/interfaces'; import { NodeConfig, ConnectionPoolService, ApiService as BaseApiService, IBlock } from '@subql/node-core'; import { IEndpointConfig } from '@subql/types-core'; import { SubqueryProject } from '../configure/SubqueryProject'; import { ApiPromiseConnection } from './apiPromise.connection'; import { ApiAt, BlockContent, LightBlockContent } from './types'; export declare class ApiService extends BaseApiService[] | IBlock[], ApiPromiseConnection, IEndpointConfig> implements OnApplicationShutdown { private project; private _fetchBlocksFunction?; private fetchBlocksBatches; private _currentBlockHash?; private _currentBlockNumber?; private nodeConfig; private constructor(); private get fetchBlocksFunction(); private get currentBlockHash(); private set currentBlockHash(value); private get currentBlockNumber(); private set currentBlockNumber(value); onApplicationShutdown(): Promise; static init(project: SubqueryProject, connectionPoolService: ConnectionPoolService, eventEmitter: EventEmitter2, nodeConfig: NodeConfig): Promise; updateChainTypes(): Promise; updateBlockFetching(): void; get api(): ApiPromise; getPatchedApi(header: Header, runtimeVersion?: RuntimeVersion): Promise; private redecorateRpcFunction; private patchApiRpc; private getRPCFunctionName; fetchBlocks(heights: number[], overallSpecVer?: number, numAttempts?: number): Promise[] | IBlock[]>; protected assertChainId(network: { chainId: string; }, connection: ApiPromiseConnection): void; }