import { isCustomDs, isRuntimeDs } from '@subql/common-substrate'; import { DatasourceParams, Header, IBlock, IBlockchainService } from '@subql/node-core'; import { SubstrateCustomDatasource, SubstrateCustomHandler, SubstrateDatasource, SubstrateHandlerKind, SubstrateMapping } from '@subql/types'; import { SubqueryProject, SubstrateProjectDs } from './configure/SubqueryProject'; import { ApiService } from './indexer/api.service'; import { RuntimeService } from './indexer/runtime/runtimeService'; import { ApiAt, BlockContent, LightBlockContent } from './indexer/types'; import { IIndexerWorker } from './indexer/worker/worker'; export declare class BlockchainService implements IBlockchainService>, SubqueryProject, ApiAt, LightBlockContent, BlockContent, IIndexerWorker> { private apiService; private runtimeService; constructor(apiService: ApiService, runtimeService: RuntimeService); isCustomDs: typeof isCustomDs; isRuntimeDs: typeof isRuntimeDs; blockHandlerKind: SubstrateHandlerKind; packageVersion: any; fetchBlocks(blockNums: number[]): Promise[] | IBlock[]>; fetchBlockWorker(worker: IIndexerWorker, height: number, context: { workers: IIndexerWorker[]; }): Promise
; onProjectChange(project: SubqueryProject): Promise; getBlockTimestamp(height: number): Promise; getBlockSize(block: IBlock): number; getFinalizedHeader(): Promise
; getBestHeight(): Promise; getChainInterval(): Promise; getHeaderForHash(hash: string): Promise
; getHeaderForHeight(height: number): Promise
; updateDynamicDs(params: DatasourceParams, dsObj: SubstrateProjectDs): Promise; getSafeApi(block: LightBlockContent | BlockContent): Promise; }