/// import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain'; import { AppLoader as GeneralAppLoader, Trigger, EntityDict, Watcher, OpRecord, OperationResult } from "oak-domain/lib/types"; import { DbStore } from "./DbStore"; import { BackendRuntimeContext } from 'oak-frontend-base/lib/context/BackendRuntimeContext'; import { IncomingHttpHeaders, IncomingMessage } from 'http'; import { Namespace } from 'socket.io'; import DataSubscriber from './cluster/DataSubscriber'; import Synchronizer from './Synchronizer'; import { AsyncContext } from 'oak-domain/lib/store/AsyncRowStore'; export declare class AppLoader> extends GeneralAppLoader { protected dbStore: DbStore; private aspectDict; private externalDependencies; protected dataSubscriber?: DataSubscriber; protected synchronizer?: Synchronizer; protected contextBuilder: (store: DbStore) => Cxt; private requireSth; protected makeContext(cxtStr?: string, headers?: IncomingHttpHeaders): Promise; /** * 后台启动的configuration,统一放在这里读取 */ private getConfiguration; constructor(path: string, ns?: Namespace, nsServer?: Namespace); protected registerTrigger(trigger: Trigger): void; initTriggers(): void; mount(initialize?: true): Promise; unmount(): Promise; execAspect(name: string, headers?: IncomingHttpHeaders, contextString?: string, params?: any): Promise<{ opRecords: OpRecord[]; result: any; message?: string; }>; initialize(truncate?: boolean): Promise; getStore(): DbStore; getEndpoints(prefix: string): [string, "post" | "get" | "put" | "delete", string, (params: Record, headers: IncomingHttpHeaders, req: IncomingMessage, body?: any) => Promise][]; protected operateInWatcher(entity: T, operation: ED[T]['Update'], context: Cxt): Promise>; protected selectInWatcher(entity: T, selection: ED[T]['Selection'], context: Cxt): Promise[]>; protected execWatcher(watcher: Watcher): Promise | undefined>; startWatchers(): void; startTimers(): void; execStartRoutines(): Promise; execRoutine(routine: >(context: Cxt) => Promise): Promise; }