import { Context, ContextType } from '@lit/context'; type AnyContext = Context; type CtxVal = ContextType; type ContextMap = Record; type ContextValues = { [K in keyof M]: CtxVal; }; type BindContext = { el: HTMLElement; contexts: M; logic: (values: ContextValues) => void | Promise; observedAttrs: string[]; requireAll?: boolean; }; export type RenderNode = HTMLElement & { updateComplete?: Promise; }; export declare const DATA_RENDER_NODE = "[data-store-render]"; export declare const DATA_HIDE_NODE = "[data-store-hide]"; export declare const attachContext: (el: HTMLElement, context: C, onValue: (value: ContextType) => void, { subscribe }?: { subscribe?: boolean; }) => () => void | undefined; export declare const observeAttributes: (el: HTMLElement, onChange: () => void, filter?: string[]) => () => void; /** * Subscribes to all contexts in `contexts`, coalesces updates in a microtask, * and calls `logic` with the latest values once ALL are present. * Returns a single disposer. */ export declare function bindContext({ el, contexts, logic, observedAttrs, requireAll }: BindContext): () => void; export declare const handleRenderNode: (el: RenderNode) => void; export declare const cleanupRenderNode: (el: RenderNode) => void; export {};