import type { StyleSheet } from "@knyt/tailor"; import { type View } from "@knyt/weaver"; import type { PropertiesDefinition } from "../../types.ts"; import type { Component } from "./Component.ts"; declare class ComponentControllerRegistry { #private; /** * @internal scope: package */ createViewRenderer, E extends Element>(options: ComponentOptions): View.RenderFn, E>; } export type ComponentOptions, E extends Element> = { debug?: boolean; /** * @alpha */ styleSheet?: StyleSheet; properties: PD; root: Component.RootInput; /** * Defines the lifecycle of the element. * * @param _host TODO: Remove this parameter. * @returns Returns a function that renders the element. */ lifecycle: Component.LifecycleFn, E>; }; /** * @internal scope: package * * This is a singleton; however, each controller is associated with * a unique element, and the registry relies on a WeakMap to manage * the controllers. As a result, the registry does not prevent * controllers from being garbage collected when their associated * elements are removed from the DOM. */ export declare const globalComponentRegistry: ComponentControllerRegistry; export {}; //# sourceMappingURL=ComponentControllerRegistry.d.ts.map