import { ResultId } from "./events"; import { WorkflowExecutor } from "./executors/workflowExecutor"; export interface IDataStoreListener { handleQueryLoaded(queryId: string, query: QueryT, data: DataT): void; } declare abstract class DataStore { protected readonly _resultId: ResultId; protected readonly _listener: IDataStoreListener; protected readonly _executor: WorkflowExecutor; private _nextQueryId; constructor(resultId: ResultId, listener: IDataStoreListener, executor: WorkflowExecutor); protected getQueryId(): string; abstract query(query: TQuery): string; } export declare namespace TableDataStore { type Data = any[][]; type Query = { ix: [number, number]; iy: [number, number]; }; } export declare class TableDataStore extends DataStore { query(query: TableDataStore.Query): string; } export {};