/** * A minimal base class to reduce the complexity of creating reactive custom elements * @see https://WebComponent.io */ export class WebComponent extends HTMLElement { /** * Blueprint for the Proxy props * @typedef {{[name: string]: any}} PropStringMap * @type {PropStringMap} */ static props: { [name: string]: any; }; static styles: any; /** * Shadow root initialization options * @type {ShadowRootInit} */ static shadowRootInit: ShadowRootInit; static get observedAttributes(): any[]; /** * Read-only string property that represents how the component will be rendered * @returns {string | any} * @see https://www.npmjs.com/package/web-component-base#template-vs-render */ get template(): string | any; /** * Read-only property containing camelCase counterparts of observed attributes. * @see https://www.npmjs.com/package/web-component-base#prop-access * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset * @type {PropStringMap} */ get props(): { [name: string]: any; }; /** * Triggered after view is initialized */ afterViewInit(): void; /** * Triggered when the component is connected to the DOM */ onInit(): void; /** * Triggered when the component is disconnected from the DOM */ onDestroy(): void; /** * Triggered when an attribute value changes * @typedef {{ * property: string, * previousValue: any, * currentValue: any * }} Changes * @param {Changes} changes */ onChanges(changes: { property: string; previousValue: any; currentValue: any; }): void; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(property: any, previousValue: any, currentValue: any): void; render(): void; #private; }