import { type EventName, type Options } from '@lit/react'; import type React from 'react'; import type { WithDataContext } from './backfills.js'; export type { EventName } from '@lit/react'; type DistributiveOmit = T extends any ? K extends keyof T ? Omit : T : T; type PropsWithoutRef = DistributiveOmit; type EventNames = Record; type EventListeners = { [K in keyof R]?: R[K] extends EventName ? (e: R[K]['__eventType']) => void : (e: Event) => void; }; type ElementProps = Partial>; type ComponentProps = Omit, keyof E | keyof ElementProps> & EventListeners & ElementProps; /** Mapped type to update the render props callback return type */ type WithJsxRenderProps = { [K in keyof T]: K extends keyof R ? NonNullable extends (...args: any[]) => any ? (...args: WithDataContext>) => React.ReactNode : T[K] : T[K]; }; export type ReactWebComponent = React.ForwardRefExoticComponent, R>> & React.RefAttributes>; type Renderers = Record; interface WrapperOptions extends Options { renderProps?: R; moveBackOnDelete?: boolean; } export declare const createComponent: ({ react: React, tagName, elementClass, events, displayName, renderProps, moveBackOnDelete, }: WrapperOptions) => ReactWebComponent;