import { type EventName, type WebComponentProps as _WebComponentProps } from '@lit-labs/react'; import type { ThemePropertyMixinClass } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js'; import type React from 'react'; import type { RefAttributes } from 'react'; declare global { interface VaadinRegistration { is: string; version: string; } interface Vaadin { registrations?: VaadinRegistration[]; } interface Window { Vaadin?: Vaadin; } } export type EventNames = Record; type Constructor = { new (): T; name: string; }; type PolymerConstructor = Constructor & { _properties: Record; }; type Options = Readonly<{ displayName?: string; elementClass: Constructor | PolymerConstructor; events?: E; react: typeof window.React; tagName: string; }>; export type ThemedWebComponentProps = _WebComponentProps & { /** * Attribute that can be used by the component to apply built-in style variants, * or to propagate its value to the sub-components in Shadow DOM. * * @see ThemePropertyMixinClass#_theme */ theme?: string; }; type AllWebComponentProps = I extends ThemePropertyMixinClass ? ThemedWebComponentProps : _WebComponentProps; type OmittedWebComponentProps = Omit | 'autofocus'>; export type WebComponentProps = Omit, keyof OmittedWebComponentProps>; export declare function createComponent(options: Options): (props: WebComponentProps & RefAttributes) => React.ReactElement | null; export {}; //# sourceMappingURL=createComponent.d.ts.map