import { XinObject, XinBinding, XinEventHandler, Unboxed } from './xin-types'; export declare const BOUND_CLASS = "-xin-data"; export declare const BOUND_SELECTOR = ".-xin-data"; export declare const EVENT_CLASS = "-xin-event"; export declare const EVENT_SELECTOR = ".-xin-event"; export declare const XIN_PATH = "xinPath"; export declare const XIN_VALUE = "xinValue"; export declare const XIN_SET = "xinSet"; export declare const XIN_OBSERVE = "xinObserve"; export declare const XIN_BIND = "xinBind"; export declare const XIN_ON = "xinOn"; export declare const xinPath: (x: any) => string | undefined; export declare function xinValue(x: T): Unboxed; export interface DataBinding { path: string; binding: XinBinding; options?: XinObject; } export type DataBindings = DataBinding[]; export interface XinEventBindings { [eventType: string]: Set; } export declare const elementToHandlers: WeakMap; export declare const elementToBindings: WeakMap; interface ElementMetadata { eventBindings?: XinEventBindings; dataBindings?: DataBindings; } export declare const getElementBindings: (element: Element) => ElementMetadata; export declare const cloneWithBindings: (element: Node) => Node; export declare const elementToItem: WeakMap; export declare const getListItem: (element: Element) => any; export {};