/** * Base Component class for vanilla TypeScript implementation * This provides core functionality for creating and managing DOM elements */ export declare class Component { protected element: T; protected children: Component[]; private eventListeners; /** * Create a new component with the specified element * @param tagName The HTML tag name to create * @param classNames Optional CSS class names to add * @param attributes Optional attributes to set on the element */ constructor(tagName: string, classNames?: string[], attributes?: Record); /** * Get the DOM element for this component */ getElement(): T; /** * Add CSS classes to the element */ addClass(...classNames: string[]): this; /** * Remove CSS classes from the element */ removeClass(...classNames: string[]): this; /** * Set an attribute on the element */ setAttribute(name: string, value: string): this; /** * Set the inner text of the element */ setText(text: string): this; /** * Set the inner HTML of the element * Note: Use with caution to avoid XSS vulnerabilities */ setHTML(html: string): this; /** * Append a child component to this component */ appendChild(component: Component): this; /** * Append this component to a parent element */ appendTo(parent: HTMLElement | Component): this; /** * Add an event listener to the element */ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): this; /** * Remove an event listener from the element */ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): this; /** * Hide this component */ hide(): this; /** * Show this component */ show(): this; /** * Destroy this component and clean up resources */ destroy(): void; } //# sourceMappingURL=Component.d.ts.map