import type { ShadowResult } from "./result.js";
export interface ElementOpts {
    tagName?: string;
    shadowDom?: ShadowResult[];
    shadowDomOpts?: ShadowRootInit;
}
interface ElementConstructor {
    new (...args: any[]): HTMLElement;
}
export declare function element<T extends ElementConstructor>(opts?: ElementOpts): (Base: T, ctx: ClassDecoratorContext<T>) => T;
export {};
