import { NodePatcherRuleTypes } from "./createTemplate"; import { NodePatcherRule } from "./createNodePatcherRules"; export interface CompiledNodePatcherRule { /** * The type of patching to do to that node */ type: NodePatcherRuleTypes; /** * The node the rule is acting upon */ node: Node; /** * The name of the attribute to patch * Only populated if it is an attribute or an event */ name?: string; } /** * The patching data with the information to patch a node */ export interface NodePatchingData { /** * The node to be patched (it does not exist until it is created if needed) */ node?: Node; /** * The patcher to patch the node with the values according to the rules */ patcher: NodePatcher; /** * The rules to use to patch the node */ rules: CompiledNodePatcherRule[]; /** * The values used to feed the rules */ values: any[]; } export declare class NodePatcher { /** * The inner HTML of the template content to help debugging */ templateString: string; /** * The template to clone and generate the node from */ template: HTMLTemplateElement; /** * The rules to be cloned (compiled)to execute the patching */ rules: NodePatcherRule[]; /** * The index of the dynamic property where the key is */ keyIndex: number; /** * Whether the content of the template has a single element */ isSingleElement: boolean; constructor(strings: TemplateStringsArray); firstPatch(parentNode: Node, rules: CompiledNodePatcherRule[], values?: any[]): void; patchNode(parentNode: Node, rules: CompiledNodePatcherRule[], oldValues?: any[], newValues?: any[], compareValues?: boolean): void; } //# sourceMappingURL=NodePatcher.d.ts.map