import type { ReadonlySignal } from '@nonoun/native-core'; import type { DataStore } from './data-runtime.ts'; import type { CommandBus } from './command-bus.ts'; export interface NodeBinding { readonly source: string; readonly method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'; readonly headers?: Readonly>; readonly target: 'textContent' | 'attribute' | 'property' | 'children'; readonly targetName?: string; readonly transform?: string; readonly cacheTtl?: number; readonly refreshInterval?: number; } export interface ActiveBinding { readonly id: string; readonly planId: string; readonly nodeId: string; readonly binding: NodeBinding; readonly dispose: () => void; } export declare class BindingManager { #private; readonly activeBindings: ReadonlySignal; constructor(data: DataStore); bind(planId: string, nodeId: string, element: HTMLElement, binding: NodeBinding, bus?: CommandBus): ActiveBinding; bindPlan(planId: string, elements: Map, bindings: ReadonlyMap, bus?: CommandBus): readonly ActiveBinding[]; unbindPlan(planId: string): void; unbind(bindingId: string): void; refresh(planId: string): void; destroy(): void; } export declare function createBindingManager(data: DataStore): BindingManager; //# sourceMappingURL=data-binding.d.ts.map