import type { ExecutionContext } from '../types/core';
export declare function createContext(element?: HTMLElement | null, globals?: Map<string, any>): ExecutionContext;
export declare function getSharedGlobals(): Map<string, any>;
export declare function createChildContext(parent: ExecutionContext, element?: HTMLElement | null): ExecutionContext;
export declare function ensureContext(userContext?: Partial<ExecutionContext> | any): ExecutionContext;
export declare function setContextValue(context: ExecutionContext, name: string, value: any, isGlobal?: boolean): void;
export declare function getContextValue(context: ExecutionContext, name: string): any;
export declare function hasContextValue(context: ExecutionContext, name: string): boolean;
export declare function deleteContextValue(context: ExecutionContext, name: string): boolean;
export declare function snapshotContext(context: ExecutionContext): Record<string, any>;
export declare function restoreContext(context: ExecutionContext, snapshot: Record<string, any>): void;
export declare function cloneContext(context: ExecutionContext): ExecutionContext;
export declare function mergeContexts(target: ExecutionContext, source: ExecutionContext): void;
export declare function getContextVariableNames(context: ExecutionContext): string[];
//# sourceMappingURL=context.d.ts.map