import { ComponentType as uComponentType, ConstructableComponent as uConstructableComponent, FunctionComponent as uFunctionComponent, ComponentOptions as uComponentOptions, ICustomElement as uICustomElement, PropsDefinitionInput as uPropsDefinitionInput, PropDefinition as uPropDefinition } from "./utils"; export type ComponentOptions = uComponentOptions; export type ComponentType = uComponentType; export type ConstructableComponent = uConstructableComponent; export type FunctionComponent = uFunctionComponent; export type PropsDefinitionInput = uPropsDefinitionInput; export type ICustomElement = uICustomElement; export type RegisterOptions = { BaseElement?: typeof HTMLElement; extension?: { extends: string; }; customElements?: CustomElementRegistry; }; export type PropDefinition = uPropDefinition; export declare function register(tag: string, props?: PropsDefinitionInput, options?: RegisterOptions): (ComponentType: ComponentType) => CustomElementConstructor; export { isConstructor, isObject, isFunction, toAttribute, toProperty, reloadElement } from "./utils"; export { createMixin, compose } from "./mixin"; export * from "./context"; export { getCurrentElement, noShadowDOM } from "./element"; export { hot } from "./hot";