import { ICoreInjector } from '@tsdi/core'; import { IBinding } from './IBinding'; import { ComponentProvider } from '../ComponentProvider'; /** * property binding. * * @export * @abstract * @class DataBinding * @template T */ export declare abstract class PropBinding { protected injector: ICoreInjector; protected provider: ComponentProvider; source: any; binding: IBinding; expression: string; constructor(injector: ICoreInjector, provider: ComponentProvider, source: any, binding: IBinding, expression: string); private map; private fields; getScope(): Map; protected parser: (scope: Map, envOptions?: any) => any; resolveExression(): T; private fieldExps; getFileds(): string[]; /** * bind target. * * @abstract * @param {*} target * @param {*} [initVal] * @memberof ParseBinding */ abstract bind(target: any, initVal?: any): void; bindTagChange(field: string, target: any): void; static ρAnn(): any; } /** * element template. * * @export * @interface ElementTemplate */ export interface ElementTemplate { } /** * binding */ export declare type Binding = string | PropBinding | T | Temp;