import Datastore, { IExtractorRunOptions } from '@ulixee/datastore'; import IQueryOptions from '@ulixee/datastore/interfaces/IQueryOptions'; import IStorageEngine from '@ulixee/datastore/interfaces/IStorageEngine'; import { IDatastoreMetadataResult, IDatastoreQueryMetadata, IDatastoreQueryResult } from '@ulixee/platform-specification/datastore/DatastoreApis'; import IDatastoreApiContext from '../interfaces/IDatastoreApiContext'; import { IDatastoreManifestWithRuntime } from './DatastoreRegistry'; import PaymentsProcessor from './PaymentsProcessor'; export default class QueryRunner { readonly context: IDatastoreApiContext; readonly queryDetails: IDatastoreQueryMetadata; startTime: number; heroSessionIds: Set; datastoreManifest: IDatastoreManifestWithRuntime; microgons: number; get milliseconds(): number; get cloudNodeHost(): string; get cloudNodeIdentity(): string; paymentsProcessor?: PaymentsProcessor; storageEngineMetadata: IDatastoreMetadataResult; storageEngine: IStorageEngine; private remoteQueryCounter; private localMachineTableCalls; constructor(context: IDatastoreApiContext, queryDetails: IDatastoreQueryMetadata); openDatastore(): Promise; beforeAll(query: string, input: any[], entityCalls: string[]): Promise; beforeStorageEngine(options: IQueryOptions): IQueryOptions; onPassthroughTable(name: string, options: IQueryOptions, run: (options: IQueryOptions) => Promise): Promise; runFunction(name: string, options: IExtractorRunOptions, run: (options: IExtractorRunOptions) => Promise): Promise; finalize(query: string, input: any[], finalResult: Error | any[]): Promise; private recordQueryResult; private getCallPricing; } export interface IRequestDetails { id: string; version: string; }