import * as CompilerDOM from '@vue/compiler-dom'; import type { Code, VueCodeInformation } from '../../types'; import type { InlayHintInfo } from '../inlayHints'; export type TemplateCodegenContext = ReturnType; export declare function createTemplateCodegenContext(): { getCommentInfo: () => { ignoreError?: boolean; expectError?: { token: number; node: CompilerDOM.CommentNode; }; generic?: { content: string; offset: number; }; }; enter: (node: CompilerDOM.RootNode | CompilerDOM.TemplateChildNode | CompilerDOM.SimpleExpressionNode) => boolean; exit: () => Generator; resolveCodeFeatures: (features: VueCodeInformation) => VueCodeInformation; getInternalVariable: () => string; scopes: { add(value: string): /*elided*/ any; clear(): void; declare(...variables: string[]): void; end(): Generator; delete(value: string): boolean; forEach(callbackfn: (value: string, value2: string, set: Set) => void, thisArg?: any): void; has(value: string): boolean; readonly size: number; [Symbol.iterator](): SetIterator; entries(): SetIterator<[string, string]>; keys(): SetIterator; values(): SetIterator; readonly [Symbol.toStringTag]: string; }[]; scope: () => { add(value: string): any; clear(): void; declare(...variables: string[]): void; end(): Generator; delete(value: string): boolean; forEach(callbackfn: (value: string, value2: string, set: Set) => void, thisArg?: any): void; has(value: string): boolean; readonly size: number; [Symbol.iterator](): SetIterator; entries(): SetIterator<[string, string]>; keys(): SetIterator; values(): SetIterator; readonly [Symbol.toStringTag]: string; }; contextAccesses: Map>>; accessVariable: (source: string, name: string, offset?: number) => void; generateAutoImport: () => Generator; conditions: string[]; generateConditionGuards: () => Generator; hoistVars: Map; getHoistVariable: (originalVar: string) => string; generateHoistVariables: () => Generator; templateRefs: Map; addTemplateRef: (name: string, typeExp: string, offset: number) => void; components: (() => string)[]; dollarVars: Set; inlayHints: InlayHintInfo[]; generatedTypes: Set; inheritedAttrVars: Set; singleRootElTypes: Set; singleRootNodes: Set; slots: { name: string; offset?: number; tagRange: [number, number]; propsVar: string; }[]; dynamicSlots: { expVar: string; propsVar: string; }[]; inVFor: boolean; };