import { IScope } from "../page/interfaces/scope.interface"; import { Directive } from "../directives/abstracts/directive"; import { IterationDirective } from "../directives/abstracts/iteration-directive"; import { Type } from "../inject/type.interface"; export declare abstract class ElementStructureAbstract { parent: ElementStructureAbstract; scope: IScope; tagName: string; content: string; children: ElementStructureAbstract[]; directivesInstance: Directive[]; rawNode: Node; compiledNode: Node; compiledBeginFn: () => void; compiledEndFn?: () => void; attrs: AttributeStructure[]; attrDirectives: { default: { directive: AttributeStructure; props: { in: AttributeStructure[]; out: AttributeStructure[]; }; }[]; iterate: { directive: AttributeStructure; props: { in: AttributeStructure[]; out: AttributeStructure[]; }; }; }; isVoid: boolean; isPureElement: boolean; isRendered: boolean; hasInterpolationInText: boolean; get hasParent(): boolean; get hasChildren(): boolean; get hasAttritubes(): boolean; get isText(): boolean; get hasNormalDirectivesToApply(): boolean; get hasIterationDirectivesToApply(): boolean; get nodeIsRenderedInDOM(): boolean; constructor(scope: IScope); removeCompiledNode(onRemoveNode?: (structure: ElementStructureAbstract) => void): void; destroyAllDirectives(): void; getIterationDirective(): AttributeStructure; resolveAttrs(): void; resolveAttrDirectivesIfNeeded(): void; getIterationStructuresFromSelf(): ElementStructureAbstract[]; instantiateAttrDirectives(): void; renderNodeIfNot(): void; private checkRenderedCorrectly; } export declare class AttributeStructure { get allDirectives(): Type[]; isResolved: boolean; hasInterpolationInText: boolean; structure: ElementStructureAbstract; name: string; value: string; directiveType: Type; directiveInstance: Directive; get isIterationDirective(): boolean; get isDefaultDirective(): boolean; get isNotDirective(): boolean; constructor(name: string, value: string, strucutre: ElementStructureAbstract, directiveType?: Type, fromClone?: boolean); resolveDirectiveIfNeeded(): void; destroyDirective(): void; private checkDirectiveBeforeResolve; private getDirective; static getCompiledValue(propName: string, propValue: string, scope: IScope): string; }