import type { IActionContext, IActionContextKey } from '@comunica/types'; /** * Implementation of {@link IActionContext} using Immutable.js. */ export declare class ActionContext implements IActionContext { private readonly map; constructor(data?: Record); /** * Will only set the value if the key is not already set. */ setDefault(key: IActionContextKey, value: V): IActionContext; set(key: IActionContextKey, value: V): IActionContext; setRaw(key: string, value: any): IActionContext; delete(key: IActionContextKey): IActionContext; get(key: IActionContextKey): V | undefined; getRaw(key: string): any | undefined; getSafe(key: IActionContextKey): V; has(key: IActionContextKey): boolean; hasRaw(key: string): boolean; merge(...contexts: IActionContext[]): IActionContext; keys(): IActionContextKey[]; toJS(): any; toString(): string; /** * Convert the given object to an action context object if it is not an action context object yet. * If it already is an action context object, return the object as-is. * @param maybeActionContext An action context or record. * @return {ActionContext} An action context object. */ static ensureActionContext(maybeActionContext?: IActionContext | Record): IActionContext; } /** * Simple implementation of {@link IActionContextKey}. */ export declare class ActionContextKey implements IActionContextKey { /** * A unique context key name. */ readonly name: string; constructor(name: string); }