import { ShadowlessElement } from '@blockeditor/lit'; import type { LitElement, PropertyValues, TemplateResult } from 'lit'; import type { Ref } from 'lit/directives/ref.js'; import { type StyleInfo } from 'lit/directives/style-map.js'; export type UniComponentReturn, Expose extends NonNullable = NonNullable> = { update: (props: Props) => void; unmount: () => void; expose: Expose; }; export type UniComponent, Expose extends NonNullable = NonNullable> = (ele: HTMLElement, props: Props) => UniComponentReturn; export declare const renderUniLit: (uni: UniComponent | undefined, props: Props, options?: { ref?: Ref | undefined; style?: Readonly | undefined; class?: string | undefined; } | undefined) => TemplateResult; export declare class UniLit = NonNullable> extends ShadowlessElement { static styles: import("lit").CSSResult; uni?: UniComponent; props: Props; ref?: Ref; uniReturn?: UniComponentReturn; get expose(): Expose | undefined; private mount; private unmount; connectedCallback(): void; disconnectedCallback(): void; protected updated(_changedProperties: PropertyValues): void; protected render(): unknown; } export declare const createUniComponentFromWebComponent: (component: typeof LitElement) => UniComponent; export declare const defineUniComponent: (renderTemplate: (props: T, expose: Expose) => TemplateResult) => UniComponent; //# sourceMappingURL=uni-component.d.ts.map