import { Node } from 'estree'; import { walk } from 'estree-walker'; import { TemplateNode } from 'svelte/types/compiler/interfaces'; export interface SvelteNode { start: number; end: number; type: string; parent?: SvelteNode; [key: string]: any; } export interface AwaitBlock extends SvelteNode { type: 'AwaitBlock'; expression: SvelteNode & Node; value: (SvelteNode & Node) | null; error: (SvelteNode & Node) | null; pending: AwaitSubBlock; then: AwaitSubBlock; catch: AwaitSubBlock; } export interface AwaitSubBlock extends SvelteNode { skip: boolean; children: SvelteNode[]; } export interface EachBlock extends SvelteNode { type: 'EachBlock'; expression: SvelteNode & Node; context: SvelteNode & Node; key?: SvelteNode & Node; else?: SvelteNode; children: SvelteNode[]; } /** * Returns true if given node is a component or html element, or if the offset is at the end of the node * and its parent is a component or html element. */ export declare function isInTag(node: SvelteNode | null | undefined, offset: number): boolean; /** * Returns when given node represents an HTML Attribute. * Example: The `class` in `