import type { Constructor } from "@surface/core"; import type ICustomElement from "../interfaces/custom-element"; import type CustomElementDefinitionOptions from "../types/custom-element-definition-options.js"; /** * Defines a new custom element. * @param tagname tag name to be registered. * @param options definition options. */ export default function element(tagname: `${string}-${string}`, options?: CustomElementDefinitionOptions): >(target: T) => T;