import { types as t } from "@marko/compiler";
export declare function assertNoSpreadAttrs(tag: t.NodePath<t.MarkoTag>): void;
export declare function assertOnlyValueAttr(tag: t.NodePath<t.MarkoTag>, required: true, change?: boolean, hint?: (attr: t.MarkoAttribute) => string | undefined): t.MarkoAttribute;
export declare function assertOnlyValueAttr(tag: t.NodePath<t.MarkoTag>, required?: boolean, change?: boolean, hint?: (attr: t.MarkoAttribute) => string | undefined): t.MarkoAttribute | undefined;
export declare function assertHasVar(tag: t.NodePath<t.MarkoTag>, hint?: string | ((tag: t.NodePath<t.MarkoTag>) => string)): void;
export declare function assertIdentifierVar(tag: t.NodePath<t.MarkoTag>): void;
export declare function assertNoTagVarMutation(tag: t.NodePath<t.MarkoTag>): void;
export declare function assertHasBody(tag: t.NodePath<t.MarkoTag>): void;
export declare function assertNoBodyContent(tag: t.NodePath<t.MarkoTag>): void;
export declare function buildAttrsError(tag: t.NodePath<t.MarkoTag>, attrs: t.MarkoTag["attributes"], msg: string): Error;
export declare function buildAttrNameError(tag: t.NodePath<t.MarkoTag>, attr: t.MarkoAttribute, msg: string): Error;
