import type { SourceRange } from "./contracts/source.js"; export type AttributeValue = { kind: "string"; value: string; } | { kind: "identifier"; value: string; }; export interface ScreenyAttribute { name: string; value: AttributeValue; range: SourceRange; } export interface ScreenyText { kind: "text"; text: string; range: SourceRange; } export interface ScreenyElement { kind: "element"; name: string; attrs: ScreenyAttribute[]; children: ScreenyNode[]; selfClosing: boolean; range: SourceRange; } export type ScreenyNode = ScreenyElement | ScreenyText; export interface ImportBinding { name?: string; path: string; range: SourceRange; } export interface ScreenyDocument { path: string; text: string; imports: ImportBinding[]; nodes: ScreenyNode[]; diagnostics: import("./types.js").Diagnostic[]; } //# sourceMappingURL=ast.d.ts.map