import { IInnerDirective as IDirective } from "./directive"; import { BasicCompilationEntity, IEwsEntity, IEwsEntityPrivates, IEwsEntityProtectedHooks, IPureObject } from "./base"; import { IInnerChildRef as IChildRef } from "./child-ref"; export interface IComponent extends IEwsEntity { } export interface IComponentProtectedHooks extends IEwsEntityProtectedHooks { onComponentsPreRender(): Promise; onComponentsRender(): Promise; onComponentsPostRender(): Promise; onChildrenPreRender(): Promise; onChildrenRender(): Promise; onChildrenPostRender(): Promise; onDirectivesPreAttach(): Promise; onDirectivesAttach(): Promise; onDirectivesPostAttach(): Promise; onPreRender(): Promise; onRender(): Promise; onPostRender(): Promise; } export interface IComponentPrivates extends IEwsEntityPrivates<"component"> { readonly __rendered: boolean; readonly __children: IChildRef[]; readonly __components: IInnerComponent[]; readonly __directives: IDirective[]; } export interface IInnerComponent extends IComponent, IComponentPrivates, IComponentProtectedHooks { } export interface IChildElement { component: string; id: string; props: { [prop: string]: any; }; } export declare function callOnInit(model: IInnerComponent): Promise; export declare function callOnComponentsPreRender(model: IInnerComponent): Promise; export declare function callOnComponentsRender(model: IInnerComponent): Promise; export declare function callOnComponentsPostRender(model: IInnerComponent): Promise; export declare function callOnChildrenPreEmit(model: IInnerComponent): Promise; export declare function callOnChildrenEmit(model: IInnerComponent): Promise; export declare function callOnChildrenPostEmit(model: IInnerComponent): Promise; export declare function callOnDirectivesPreAttach(model: IInnerComponent): Promise; export declare function callOnDirectivesAttach(model: IInnerComponent): Promise; export declare function callOnDirectivesPostAttach(model: IInnerComponent): Promise; export declare function callComponentRenderLifecycle(model: IInnerComponent): Promise; export declare function callComponentLifecycle(model: IInnerComponent): Promise; export declare abstract class BasicComponent extends BasicCompilationEntity { private __rendered; private readonly __children; private readonly __components; private readonly __directives; get rendered(): boolean; protected getChildren(): IChildElement[]; constructor(); /** @override */ protected onInit(): Promise; /** @override */ protected onComponentsPreRender(): Promise; /** @override */ protected onComponentsRender(): Promise; /** @override */ protected onComponentsPostRender(): Promise; /** @override */ protected onChildrenPreRender(): Promise; /** @override */ protected onChildrenRender(): Promise; /** @override */ protected onChildrenPostRender(): Promise; /** @override */ protected onDirectivesPreAttach(): Promise; /** @override */ protected onDirectivesAttach(): Promise; /** @override */ protected onDirectivesPostAttach(): Promise; /** @override */ protected onPreRender(): Promise; /** @override */ protected onRender(): Promise; /** @override */ protected onPostRender(): Promise; }