import { FinalChanges, SlotChanges } from "./decorator-slotted"; export declare enum ElementLifecycleEvent { WillUpdate = "element-will-update", DidUpdate = "element-did-update", WillMount = "element-will-mount", DidMount = "element-did-mount", DidUnmount = "element-did-unmount", SlotDidChange = "element-slot-did-change", StateDidChange = "element-state-did-change", AttributeDidChange = "element-attribute-did-change" } export declare class ElementWillUpdateEvent extends CustomEvent { type: ElementLifecycleEvent.WillUpdate; constructor(); } export declare class ElementDidUpdateEvent extends CustomEvent { type: ElementLifecycleEvent.DidUpdate; constructor(); } export declare class ElementWillMountEvent extends CustomEvent { type: ElementLifecycleEvent.WillMount; constructor(); } export declare class ElementDidMountEvent extends CustomEvent { type: ElementLifecycleEvent.DidMount; constructor(); } export declare class ElementDidUnmountEvent extends CustomEvent { type: ElementLifecycleEvent.DidUnmount; constructor(); } export declare class ElementSlotDidChangeEvent extends CustomEvent<{ slotName: string; changes: FinalChanges; }> { type: ElementLifecycleEvent.SlotDidChange; constructor(slotName: string, changes: SlotChanges); } export declare class ElementStateDidChangeEvent extends CustomEvent<{ stateName: string; prevValue: unknown; newValue: unknown; }> { type: ElementLifecycleEvent.StateDidChange; constructor(stateName: string, prevValue: unknown, newValue: unknown); } export declare class ElementAttributeDidChangeEvent extends CustomEvent<{ attributeName: string; prevValue: unknown; newValue: unknown; }> { type: ElementLifecycleEvent.AttributeDidChange; constructor(attributeName: string, prevValue: unknown, newValue: unknown); } export type AllElementLifecycleEvents = ElementWillUpdateEvent | ElementDidUpdateEvent | ElementWillMountEvent | ElementDidMountEvent | ElementDidUnmountEvent | ElementSlotDidChangeEvent | ElementStateDidChangeEvent | ElementAttributeDidChangeEvent;