export declare function applyTextRules(node: Text, context: any): void; export declare function applyElementRules(node: Element, context: any): void; export declare function applyRules(node: Node, context: any): void; export declare function compileRules(node: Node, deferredContext: any): void; export declare function linkTreeToContextAsync(tree: Node): (tree: Node, context: any) => void; export declare function linkTreeToContext(tree: Node, context: any): void; export interface Rule { match: (node: Element, name: string, value: string) => boolean; exec: (node: Element, name: string, value: string, context: any) => void; } export declare function use(rule: Rule): void; export declare function resetRules(): void; export declare class AddEventListener implements Rule { match(_: any, name: any): any; exec(node: any, name: any, value: any, context: any): void; } export declare class SetAttribute implements Rule { match(_: any, name: any): any; exec(node: any, name: any, source: any, context: any): void; } export declare class SetProperty implements Rule { match(_: any, name: any): any; exec(node: any, name: any, source: any, context: any): void; } export declare class SetClassName implements Rule { match(_: any, name: any): any; exec(node: any, name: any, source: any, context: any): void; } export declare class SetStyle implements Rule { match(_: any, name: any): any; exec(node: any, name: any, source: any, context: any): void; } export declare class TemplateFor implements Rule { match(node: any, name: any): boolean; exec(node: any, _name: any, source: any, context: any): void; updateForOfList(forNodes: any[], anchor: any, node: Node, key: string, indexKey: string, context: any, value: any): void; } export declare class TemplateIf implements Rule { match(node: any, name: any): boolean; exec(node: any, _name: any, value: any, context: any): void; }