import { AggregationResult, AuthDeduceRelationMap, EntityDict, OperationResult, SelectOption, TxnOption } from "oak-domain/lib/types"; import { TreeStore, TreeStoreOperateOption, TreeStoreSelectOption } from 'oak-memory-tree-store'; import { StorageSchema, Trigger, Checker } from "oak-domain/lib/types"; import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { AsyncContext, AsyncRowStore } from "oak-domain/lib/store/AsyncRowStore"; interface DebugStoreOperateOption extends TreeStoreOperateOption { noLock?: true; } interface DebugStoreSelectOption extends TreeStoreSelectOption { noLock?: true; } export declare class DebugStore> extends TreeStore implements AsyncRowStore { private executor; private relationAuth; private dataLoaded; private dataLoadedLock; private dataLoadedLockUnlocker; constructor(storageSchema: StorageSchema, contextBuilder: (store: DebugStore) => Cxt, authDeduceRelationMap: AuthDeduceRelationMap, selectFreeEntities?: (keyof ED)[], updateFreeDict?: { [A in keyof ED]?: string[]; }); checkRelationAsync>(entity: T, operation: Omit, context: Cxt): Promise; exec(script: string, txnId?: string): Promise; aggregate(entity: T, aggregation: ED[T]["Aggregation"], context: Cxt, option: OP): Promise>; begin(option?: TxnOption): Promise; commit(txnId: string): Promise; rollback(txnId: string): Promise; protected cascadeUpdateAsync(entity: T, operation: ED[T]['Operation'], context: AsyncContext, option: OP): Promise>; operate(entity: T, operation: ED[T]['Operation'], context: Cxt, option: OP): Promise>; select(entity: T, selection: ED[T]['Selection'], context: Cxt, option: OP): Promise[]>; count(entity: T, selection: Pick, context: Cxt, option: OP): Promise; registerTrigger(trigger: Trigger): void; registerChecker(checker: Checker): void; resetInitialData(initialData: { [T in keyof ED]?: Array; }, stat?: { create: number; update: number; remove: number; commit: number; }): void; } export {};