import { TemplateResult } from "lit"; interface DOMRenderOptions { root: HTMLElement; } interface DOMRenderer { render: (props: Props, options: DOMRenderOptions) => T; update: (props: Props) => void; destroy: () => Promise; } interface CreateDOMRendererOptions { root: HTMLElement; template: (props: Props) => TemplateResult | HTMLElement; beforeDestroy?: (element: T) => Promise | void; } declare function createDOMRenderer(options: CreateDOMRendererOptions): DOMRenderer; export { CreateDOMRendererOptions, DOMRenderOptions, DOMRenderer, createDOMRenderer };