import { types as t } from "@marko/compiler"; import { type Section } from "../util/sections"; import { type Binding } from "./references"; import type { SerializeReason } from "./serialize-reasons"; type Write = string | t.Expression | (() => undefined | string | t.Expression); export declare function writeTo(path: t.NodePath, trailer?: boolean): (strs: TemplateStringsArray, ...exprs: Write[]) => void; export declare function consumeHTML(path: t.NodePath): t.ExpressionStatement | undefined; export declare function flushBefore(path: t.NodePath): void; export declare function flushInto(path: t.NodePath | t.NodePath): void; interface SectionMeta { walks: t.Expression | undefined; writes: t.Expression | undefined; decls: t.VariableDeclarator[] | undefined; } export declare const getSectionMeta: (section: Section) => SectionMeta; export declare function getSectionMetaIdentifiers(section: Section): SectionMeta; export declare function markNode(path: t.NodePath, nodeBinding: Binding, reason: undefined | false | SerializeReason): void; export {};