import type { Delegate, IDisposable, Subscription } from "@surface/core"; import type { ObservablePath, StackTrace } from "@surface/htmlx-parser"; import type DestructuredEvaluator from "./types/destructured-evaluator.js"; import type Evaluator from "./types/evaluator.js"; export declare function oneWayBind(element: HTMLElement, scope: object, key: string, evaluator: Evaluator, observables: ObservablePath[], source?: string, stackTrace?: StackTrace): IDisposable; export declare function twoWayBind(element: HTMLElement, scope: object, left: string, right: ObservablePath, source?: string, stackTrace?: StackTrace): IDisposable; export default function eventListener(element: HTMLElement, scope: object, type: string, listenerEvaluator: Evaluator, contextEvaluator: Evaluator, source?: string, stackTrace?: StackTrace): IDisposable; export declare function bind(left: object, leftPath: ObservablePath, right: object, rightPath: ObservablePath): Subscription; export declare function buildStackTrace(stackTrace: StackTrace): string; export declare function checkPath(scope: object, path: ObservablePath, source?: string, stackTrace?: StackTrace): void; export declare function checkProperty(target: object, key: string, source?: string, stackTrace?: StackTrace): void; export declare function classMap(element: HTMLElement, classes: Record): void; export declare function enumerateRange(start: ChildNode, end: ChildNode): Iterable; export declare function observe(target: object, observables: ObservablePath[], listener: Delegate<[unknown]>, lazy?: boolean): Subscription; export declare function styleMap(element: HTMLElement, rules: Record): void; export declare function throwTemplateEvaluationError(message: string, stackTrace: StackTrace): never; export declare function throwTemplateObservationError(message: string, stackTrace: StackTrace): never; export declare function tryEvaluate(scope: object, evaluator: Evaluator, source?: string, stackTrace?: StackTrace): unknown; export declare function tryEvaluatePattern(scope: object, evaluator: DestructuredEvaluator, value: unknown, source?: string, stackTrace?: StackTrace): object; export declare function tryObserve(target: object, observables: ObservablePath[], listener: Delegate<[unknown]>, lazy?: boolean, source?: string, stackTrace?: StackTrace): Subscription;