import type { ElementLifecycle } from "../../element-extender"; import type { DiffedProps } from "./map-properties"; /** * Lifecycle controller is providing an interface that allows Element * extenders to hook into the lifecycle of the element. * * Whenever a major lifecycle change happens on the element, that * element should emit an appropriate event. Then extenders hooked * into those lifecycle events can execute appropriate for them * actions. */ export declare class ElementLifecycleController implements ElementLifecycle { private updateCallbacks; private afterCreateCallbacks; private beforeDestroyCallbacks; private mountedCallbacks; private unmountedCallbacks; onAfterCreate(cb: () => void): void; onBeforeDestroy(cb: () => void): void; onUpdate(cb: (props: DiffedProps) => void): void; onMounted(cb: () => void): void; onUnmounted(cb: () => void): void; offAfterCreate(cb: () => void): void; offBeforeDestroy(cb: () => void): void; offUpdate(cb: (props: DiffedProps) => void): void; offMounted(cb: () => void): void; offUnmounted(cb: () => void): void; emitLifecycleEventAfterCreate(): void; emitLifecycleEventBeforeDestroy(): void; emitLifecycleEventUpdate(props: DiffedProps): void; emitMountedEvent(): void; emitUnmountedEvent(): void; }