import type { ActionBox } from './ActionBox'; import type { Connection } from './adapter/Connection'; import type { ConnectionController } from './ConnectionController'; import type { IncomingContext } from '../messages/IncomingContext'; import type { Server } from './Server'; import { PropertyConfig } from './PropertyConfig'; import { OutgoingContext } from '../messages/OutgoingContext'; import { SpecialProperty } from './SpecialProperty'; import { ActionInstance } from './ActionInstance'; import { PropertyConfigMap } from './PropertyConfigMap'; type ContextEachCb = (prop: string, cfg: PropertyConfig) => Promise; export declare class Context { readonly controller: ConnectionController; readonly actionBox: ActionBox; protected readonly staticContext?: Context | undefined; readonly connection: Connection; readonly server: Server; contextData: Record; operationalData: Record; specialProperties: Record; readonly staticMode: boolean; private instanceId?; private readonly config; private readonly properties; constructor(controller: ConnectionController, actionBox: ActionBox, staticContext?: Context | undefined); has(propertyName: string): boolean; get(propertyName: string): any; set(propertyName: string, value: any): boolean; hasOperationalValue(propertyName: string): boolean; setOperationalValue(propertyName: string, value: any): boolean; getOperationalValue(propertyName: string): any; init(): Promise; initSpecial(instance: ActionInstance): Promise; createSpecial(prop: string, instance: ActionInstance): SpecialProperty; onClose(): Promise; setIncomingContext(data: IncomingContext, withCfg?: boolean): Promise; getOutgoingContext(): Promise; getStaticContext(): Promise>; setInstanceId(instanceId: string): void; getInstanceId(): string | undefined; onDestroy(): Promise; protected each(propsPack: PropertyConfigMap, handler: ContextEachCb): Promise; protected checkIncomingContext(data: IncomingContext): void; protected setDefaultPropValue(prop: string): void; protected getSystemItem(nameItem: PropertyConfig['get']): any; protected parseProperty(out: boolean, prop: string, cfg: PropertyConfig, value: any): Promise; protected onChanged(): Promise; } export {};