import { SimpleElement, SimpleNode } from '@simple-dom/interface'; import { RichIteratorResult } from '../core'; import { Bounds } from '../dom/bounds'; import { Environment } from './environment'; export interface ExceptionHandler { handleException(): void; } export interface RenderResult extends Bounds, ExceptionHandler { readonly env: Environment; readonly drop: object; rerender(options?: { alwaysRevalidate: false }): void; parentElement(): SimpleElement; firstNode(): SimpleNode; lastNode(): SimpleNode; } export interface TemplateIterator { next(): RichIteratorResult; sync(): RenderResult; }