import { StateDependencies, ViewState } from '../../types'; import { VNodeRegister } from '../vdom'; import { VElement } from '../VElement'; export declare type IAttrValue = string | Array; export declare abstract class VAttribute { static matcher: string | RegExp; static allowNonStringValue: boolean; stateDependencies: StateDependencies; created: boolean; constructor(attrName: string, attrValue: IAttrValue, vElement: VElement, register: VNodeRegister); destroy(): void; abstract init(attrName: string, attrValue: IAttrValue, vElement: VElement, register: VNodeRegister): boolean; abstract createStateDependencies(): StateDependencies; onElementCreate(element: HTMLElement): void; onElementDestroy(element: HTMLElement): void; onRender(state: ViewState, modifiedState: ViewState): void; onDestroy(): void; }