import { ApiPromise } from '@polkadot/api'; import { RuntimeVersion } from '@polkadot/types/interfaces'; import { SubstrateBlock } from '@subql/types'; import { ApiService } from '../api.service'; import { SpecVersion } from '../dictionary'; export declare const SPEC_VERSION_BLOCK_GAP = 100; export declare abstract class BaseRuntimeService { protected apiService: ApiService; parentSpecVersion?: number; specVersionMap: SpecVersion[]; private currentRuntimeVersion?; latestFinalizedHeight?: number; constructor(apiService: ApiService); specChanged(height: number, specVersion: number): Promise; abstract getSpecVersion(blockHeight: number): Promise<{ blockSpecVersion: number; syncedDictionary: boolean; }>; get api(): ApiPromise; getSpecFromMap(blockHeight: number, specVersions?: SpecVersion[]): number | undefined; getSpecFromApi(height: number): Promise; prefetchMeta(height: number): Promise; getRuntimeVersion(block: SubstrateBlock): Promise; }