export type LumenCustomElementRegistry = Pick; export interface LumenElementConfig { attributeClasses?: Record>; baseClassName: string; defaults?: Record; observedAttributes?: readonly string[]; role?: string; tagName: string; } export type LumenElementConstructor = CustomElementConstructor & { config: LumenElementConfig; }; export declare class LumenElement extends HTMLElement { static config: LumenElementConfig; static get observedAttributes(): readonly string[]; connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(_name?: string, _previousValue?: string | null, _value?: string | null): void; protected get config(): LumenElementConfig; private applyDefaults; private applyClassNames; } export declare const createLumenElementClass: (config: LumenElementConfig) => LumenElementConstructor; export declare const defineLumenElement: (config: LumenElementConfig, element: CustomElementConstructor, registry?: LumenCustomElementRegistry) => void; //# sourceMappingURL=element-base.d.ts.map