import type { AST as VAST } from 'vue-eslint-parser'; import { LocaleMessages } from './locale-messages'; import type { RuleContext, TemplateListener, RuleListener, CustomBlockVisitorFactory } from '../types'; export declare function defineTemplateBodyVisitor(context: RuleContext, templateBodyVisitor: TemplateListener, scriptVisitor?: RuleListener): RuleListener; export declare function getAttribute(node: VAST.VElement, name: string): VAST.VAttribute | null; export declare function getDirective(node: VAST.VElement, name: string, argument: string): VAST.VDirective | null; export type StaticLiteral = VAST.ESLintLiteral | VAST.ESLintTemplateLiteral; export declare function isStaticLiteral(node: VAST.Node | null): node is StaticLiteral; export declare function getStaticLiteralValue(node: StaticLiteral): VAST.ESLintLiteral['value']; export declare function getLocaleMessages(context: RuleContext, options?: { ignoreMissingSettingsError?: boolean; }): LocaleMessages; export declare function defineCustomBlocksVisitor(context: RuleContext, jsonRule: CustomBlockVisitorFactory, yamlRule: CustomBlockVisitorFactory): RuleListener; export type VueObjectType = 'mark' | 'export' | 'definition' | 'instance' | 'variable' | 'components-option'; export declare function getVueObjectType(context: RuleContext, node: VAST.ESLintObjectExpression): VueObjectType | null; export declare function getScriptSetupElement(context: RuleContext): VAST.VElement | null; export declare function isVElement(node: VAST.VElement | VAST.VExpressionContainer | VAST.VText): node is VAST.VElement; export declare function isI18nBlock(node: VAST.VElement | VAST.VExpressionContainer | VAST.VText): node is VAST.VElement & { name: 'i18n'; }; export declare function getStaticAttributes(element: VAST.VElement): { [name: string]: string | undefined; }; export declare function skipTSAsExpression(node: T): T; export declare function compositingVisitors(visitor: RuleListener, ...visitors: RuleListener[]): RuleListener;