import { Statement } from '../language/generated/ast.js'; import { Instance, Relationship } from './module.js'; import { Resolver } from './resolvers/interface.js'; import { ActiveSessionInfo } from './auth/defs.js'; export type Result = any; export declare function isEmptyResult(r: Result): boolean; type BetweenRelInfo = { relationship: Relationship; connectedInstance: Instance; }; export declare class Environment extends Instance { parent: Environment | undefined; private activeModule; private activeEventInstance; private activeUser; private activeUserSet; private lastResult; private parentPath; private betweenRelInfo; private activeResolvers; private activeTransactions; private inUpsertMode; private inDeleteMode; private inKernelMode; constructor(name?: string, parent?: Environment); static from(parent: Environment): Environment; lookup(k: string): Result; bind(k: string, v: any): Environment; bindInstance(inst: Instance): Environment; maybeLookupAgentInstance(entryName: string): Instance | undefined; setActiveEvent(eventInst: Instance | undefined): Environment; protected getActiveEventInstance(): Instance | undefined; setActiveUser(userId: string): Environment; getActiveUser(): string; setLastResult(result: Result): Environment; getLastResult(): Result; getActiveModuleName(): string; switchActiveModuleName(newModuleName: string): string; setParentPath(path: string): Environment; getParentPath(): string | undefined; setBetweenRelInfo(info: BetweenRelInfo): Environment; getBetweenRelInfo(): BetweenRelInfo | undefined; setActiveResolvers(resolvers: Map): Environment; getActiveResolvers(): Map; getResolver(resolverName: string): Resolver | undefined; addResolver(resolver: Resolver): Promise; setActiveTransactions(txns: Map): Environment; getActiveTransactions(): Map; getTransactionForResolver(resolver: Resolver): Promise; ensureTransactionForResolver(resolver: Resolver): Promise; private endAllTransactions; callInTransaction(f: Function): Promise; commitAllTransactions(): Promise; rollbackAllTransactions(): Promise; setInUpsertMode(flag: boolean): Environment; isInUpsertMode(): boolean; setInDeleteMode(flag: boolean): Environment; isInDeleteMode(): boolean; setInKernelMode(flag: boolean): Environment; isInKernelMode(): boolean; } export declare const GlobalEnvironment: Environment; export declare function evaluate(eventInstance: Instance, continuation?: Function, activeEnv?: Environment, kernelCall?: boolean): Promise; export declare function evaluateAsEvent(moduleName: string, eventName: string, attrs: Array | object, activeSession?: ActiveSessionInfo, env?: Environment, kernelCall?: boolean): Promise; export declare function makeEventEvaluator(moduleName: string): Function; export declare function evaluateStatements(stmts: Statement[], env: Environment, continuation?: Function): Promise; export declare function parseAndEvaluateStatement(stmtString: string, activeUserId?: string, actievEnv?: Environment): Promise; export {}; //# sourceMappingURL=interpreter.d.ts.map