///
import { Logger, LogLevel } from "./..//singleton/LoggerManager";
import EventEmitter from "events";
import { IElement } from "./IElement";
export declare class ElementProxy {
element: T;
private static IdentityElementProxies;
static GetElementProxy(id: string): ElementProxy;
get logger(): Logger;
get events(): EventEmitter;
get vars(): {
[key: string]: any;
};
get loopKey(): any;
get loopValue(): any;
get if(): any;
get isAttacted(): boolean;
extra: {
[key: string]: any;
};
constructor(element: T);
init(props?: any): this;
prepare(): Promise;
setGroup(group: IElement): void;
exec(): Promise;
dispose(): void | Promise;
clone(): ElementProxy;
resolvePath(path?: string): string;
changeLogLevel(level: LogLevel): void;
replaceVar(yamlValue: any, baseContext?: any, defaultKey?: string): Promise;
setVar(yamlValue: any, baseContext?: any, defaultKey?: string): Promise;
eval(func?: string, baseContext?: any, mainContextProp?: string): Promise;
call(func: Function, baseContext?: any, _this?: any): any | Promise;
getBaseContext(baseContext?: any): any;
getVar(yamlValue: any, baseContext?: {}): Promise;
applyVars(obj: any, ...props: string[]): Promise;
private inherit;
private expose;
private registerIdentity;
}