Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / vue-eslint-parser / index.d.ts
index 392642e0b337777aaf44477e3dd62fe96493cbab..1ab07683b73d23315ec7486e16564e0d2479077b 100644 (file)
-// Generated by dts-bundle v0.7.3\r
-// Dependencies for this module:\r
-//   ../eslint-scope\r
-//   ../eslint-visitor-keys\r
-\r
-declare module 'vue-eslint-parser' {\r
-    import * as AST from "vue-eslint-parser/ast";\r
-    export function parseForESLint(code: string, options: any): AST.ESLintExtendedProgram;\r
-    export function parse(code: string, options: any): AST.ESLintProgram;\r
-    export { AST };\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast' {\r
-    export * from "vue-eslint-parser/ast/errors";\r
-    export * from "vue-eslint-parser/ast/locations";\r
-    export * from "vue-eslint-parser/ast/nodes";\r
-    export * from "vue-eslint-parser/ast/tokens";\r
-    export * from "vue-eslint-parser/ast/traverse";\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast/errors' {\r
-    export class ParseError extends SyntaxError {\r
-        code?: ErrorCode;\r
-        index: number;\r
-        lineNumber: number;\r
-        column: number;\r
-        static fromCode(code: ErrorCode, offset: number, line: number, column: number): ParseError;\r
-        static normalize(x: any): ParseError | null;\r
-        constructor(message: string, code: ErrorCode | undefined, offset: number, line: number, column: number);\r
-        static isParseError(x: any): x is ParseError;\r
-    }\r
-    export type ErrorCode = "abrupt-closing-of-empty-comment" | "absence-of-digits-in-numeric-character-reference" | "cdata-in-html-content" | "character-reference-outside-unicode-range" | "control-character-in-input-stream" | "control-character-reference" | "eof-before-tag-name" | "eof-in-cdata" | "eof-in-comment" | "eof-in-tag" | "incorrectly-closed-comment" | "incorrectly-opened-comment" | "invalid-first-character-of-tag-name" | "missing-attribute-value" | "missing-end-tag-name" | "missing-semicolon-after-character-reference" | "missing-whitespace-between-attributes" | "nested-comment" | "noncharacter-character-reference" | "noncharacter-in-input-stream" | "null-character-reference" | "surrogate-character-reference" | "surrogate-in-input-stream" | "unexpected-character-in-attribute-name" | "unexpected-character-in-unquoted-attribute-value" | "unexpected-equals-sign-before-attribute-name" | "unexpected-null-character" | "unexpected-question-mark-instead-of-tag-name" | "unexpected-solidus-in-tag" | "unknown-named-character-reference" | "end-tag-with-attributes" | "duplicate-attribute" | "end-tag-with-trailing-solidus" | "non-void-html-element-start-tag-with-trailing-solidus" | "x-invalid-end-tag" | "x-invalid-namespace";\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast/locations' {\r
-    export interface Location {\r
-        line: number;\r
-        column: number;\r
-    }\r
-    export interface LocationRange {\r
-        start: Location;\r
-        end: Location;\r
-    }\r
-    export type Offset = number;\r
-    export type OffsetRange = [Offset, Offset];\r
-    export interface HasLocation {\r
-        range: OffsetRange;\r
-        loc: LocationRange;\r
-        start?: number;\r
-        end?: number;\r
-    }\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast/nodes' {\r
-    import { ScopeManager } from "eslint-scope";\r
-    import { ParseError } from "vue-eslint-parser/ast/errors";\r
-    import { HasLocation } from "vue-eslint-parser/ast/locations";\r
-    import { Token } from "vue-eslint-parser/ast/tokens";\r
-    export interface HasParent {\r
-        parent?: Node | null;\r
-    }\r
-    export type Node = ESLintNode | VNode | VForExpression | VOnExpression | VSlotScopeExpression | VFilterSequenceExpression | VFilter;\r
-    export type ESLintNode = ESLintIdentifier | ESLintLiteral | ESLintProgram | ESLintSwitchCase | ESLintCatchClause | ESLintVariableDeclarator | ESLintStatement | ESLintExpression | ESLintProperty | ESLintAssignmentProperty | ESLintSuper | ESLintTemplateElement | ESLintSpreadElement | ESLintPattern | ESLintClassBody | ESLintMethodDefinition | ESLintModuleDeclaration | ESLintModuleSpecifier | ESLintLegacyRestProperty;\r
-    export interface ESLintExtendedProgram {\r
-        ast: ESLintProgram;\r
-        services?: {};\r
-        visitorKeys?: {\r
-            [type: string]: string[];\r
-        };\r
-        scopeManager?: ScopeManager;\r
-    }\r
-    export interface ESLintProgram extends HasLocation, HasParent {\r
-        type: "Program";\r
-        sourceType: "script" | "module";\r
-        body: (ESLintStatement | ESLintModuleDeclaration)[];\r
-        templateBody?: VElement & HasConcreteInfo;\r
-        tokens?: Token[];\r
-        comments?: Token[];\r
-        errors?: ParseError[];\r
-    }\r
-    export type ESLintStatement = ESLintExpressionStatement | ESLintBlockStatement | ESLintEmptyStatement | ESLintDebuggerStatement | ESLintWithStatement | ESLintReturnStatement | ESLintLabeledStatement | ESLintBreakStatement | ESLintContinueStatement | ESLintIfStatement | ESLintSwitchStatement | ESLintThrowStatement | ESLintTryStatement | ESLintWhileStatement | ESLintDoWhileStatement | ESLintForStatement | ESLintForInStatement | ESLintForOfStatement | ESLintDeclaration;\r
-    export interface ESLintEmptyStatement extends HasLocation, HasParent {\r
-        type: "EmptyStatement";\r
-    }\r
-    export interface ESLintBlockStatement extends HasLocation, HasParent {\r
-        type: "BlockStatement";\r
-        body: ESLintStatement[];\r
-    }\r
-    export interface ESLintExpressionStatement extends HasLocation, HasParent {\r
-        type: "ExpressionStatement";\r
-        expression: ESLintExpression;\r
-    }\r
-    export interface ESLintIfStatement extends HasLocation, HasParent {\r
-        type: "IfStatement";\r
-        test: ESLintExpression;\r
-        consequent: ESLintStatement;\r
-        alternate: ESLintStatement | null;\r
-    }\r
-    export interface ESLintSwitchStatement extends HasLocation, HasParent {\r
-        type: "SwitchStatement";\r
-        discriminant: ESLintExpression;\r
-        cases: ESLintSwitchCase[];\r
-    }\r
-    export interface ESLintSwitchCase extends HasLocation, HasParent {\r
-        type: "SwitchCase";\r
-        test: ESLintExpression | null;\r
-        consequent: ESLintStatement[];\r
-    }\r
-    export interface ESLintWhileStatement extends HasLocation, HasParent {\r
-        type: "WhileStatement";\r
-        test: ESLintExpression;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintDoWhileStatement extends HasLocation, HasParent {\r
-        type: "DoWhileStatement";\r
-        body: ESLintStatement;\r
-        test: ESLintExpression;\r
-    }\r
-    export interface ESLintForStatement extends HasLocation, HasParent {\r
-        type: "ForStatement";\r
-        init: ESLintVariableDeclaration | ESLintExpression | null;\r
-        test: ESLintExpression | null;\r
-        update: ESLintExpression | null;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintForInStatement extends HasLocation, HasParent {\r
-        type: "ForInStatement";\r
-        left: ESLintVariableDeclaration | ESLintPattern;\r
-        right: ESLintExpression;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintForOfStatement extends HasLocation, HasParent {\r
-        type: "ForOfStatement";\r
-        left: ESLintVariableDeclaration | ESLintPattern;\r
-        right: ESLintExpression;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintLabeledStatement extends HasLocation, HasParent {\r
-        type: "LabeledStatement";\r
-        label: ESLintIdentifier;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintBreakStatement extends HasLocation, HasParent {\r
-        type: "BreakStatement";\r
-        label: ESLintIdentifier | null;\r
-    }\r
-    export interface ESLintContinueStatement extends HasLocation, HasParent {\r
-        type: "ContinueStatement";\r
-        label: ESLintIdentifier | null;\r
-    }\r
-    export interface ESLintReturnStatement extends HasLocation, HasParent {\r
-        type: "ReturnStatement";\r
-        argument: ESLintExpression | null;\r
-    }\r
-    export interface ESLintThrowStatement extends HasLocation, HasParent {\r
-        type: "ThrowStatement";\r
-        argument: ESLintExpression;\r
-    }\r
-    export interface ESLintTryStatement extends HasLocation, HasParent {\r
-        type: "TryStatement";\r
-        block: ESLintBlockStatement;\r
-        handler: ESLintCatchClause | null;\r
-        finalizer: ESLintBlockStatement | null;\r
-    }\r
-    export interface ESLintCatchClause extends HasLocation, HasParent {\r
-        type: "CatchClause";\r
-        param: ESLintPattern;\r
-        body: ESLintBlockStatement;\r
-    }\r
-    export interface ESLintWithStatement extends HasLocation, HasParent {\r
-        type: "WithStatement";\r
-        object: ESLintExpression;\r
-        body: ESLintStatement;\r
-    }\r
-    export interface ESLintDebuggerStatement extends HasLocation, HasParent {\r
-        type: "DebuggerStatement";\r
-    }\r
-    export type ESLintDeclaration = ESLintFunctionDeclaration | ESLintVariableDeclaration | ESLintClassDeclaration;\r
-    export interface ESLintFunctionDeclaration extends HasLocation, HasParent {\r
-        type: "FunctionDeclaration";\r
-        async: boolean;\r
-        generator: boolean;\r
-        id: ESLintIdentifier | null;\r
-        params: ESLintPattern[];\r
-        body: ESLintBlockStatement;\r
-    }\r
-    export interface ESLintVariableDeclaration extends HasLocation, HasParent {\r
-        type: "VariableDeclaration";\r
-        kind: "var" | "let" | "const";\r
-        declarations: ESLintVariableDeclarator[];\r
-    }\r
-    export interface ESLintVariableDeclarator extends HasLocation, HasParent {\r
-        type: "VariableDeclarator";\r
-        id: ESLintPattern;\r
-        init: ESLintExpression | null;\r
-    }\r
-    export interface ESLintClassDeclaration extends HasLocation, HasParent {\r
-        type: "ClassDeclaration";\r
-        id: ESLintIdentifier | null;\r
-        superClass: ESLintExpression | null;\r
-        body: ESLintClassBody;\r
-    }\r
-    export interface ESLintClassBody extends HasLocation, HasParent {\r
-        type: "ClassBody";\r
-        body: ESLintMethodDefinition[];\r
-    }\r
-    export interface ESLintMethodDefinition extends HasLocation, HasParent {\r
-        type: "MethodDefinition";\r
-        kind: "constructor" | "method" | "get" | "set";\r
-        computed: boolean;\r
-        static: boolean;\r
-        key: ESLintExpression;\r
-        value: ESLintFunctionExpression;\r
-    }\r
-    export type ESLintModuleDeclaration = ESLintImportDeclaration | ESLintExportNamedDeclaration | ESLintExportDefaultDeclaration | ESLintExportAllDeclaration;\r
-    export type ESLintModuleSpecifier = ESLintImportSpecifier | ESLintImportDefaultSpecifier | ESLintImportNamespaceSpecifier | ESLintExportSpecifier;\r
-    export interface ESLintImportDeclaration extends HasLocation, HasParent {\r
-        type: "ImportDeclaration";\r
-        specifiers: (ESLintImportSpecifier | ESLintImportDefaultSpecifier | ESLintImportNamespaceSpecifier)[];\r
-        source: ESLintLiteral;\r
-    }\r
-    export interface ESLintImportSpecifier extends HasLocation, HasParent {\r
-        type: "ImportSpecifier";\r
-        imported: ESLintIdentifier;\r
-        local: ESLintIdentifier;\r
-    }\r
-    export interface ESLintImportDefaultSpecifier extends HasLocation, HasParent {\r
-        type: "ImportDefaultSpecifier";\r
-        local: ESLintIdentifier;\r
-    }\r
-    export interface ESLintImportNamespaceSpecifier extends HasLocation, HasParent {\r
-        type: "ImportNamespaceSpecifier";\r
-        local: ESLintIdentifier;\r
-    }\r
-    export interface ESLintExportNamedDeclaration extends HasLocation, HasParent {\r
-        type: "ExportNamedDeclaration";\r
-        declaration?: ESLintDeclaration | null;\r
-        specifiers: ESLintExportSpecifier[];\r
-        source?: ESLintLiteral | null;\r
-    }\r
-    export interface ESLintExportSpecifier extends HasLocation, HasParent {\r
-        type: "ExportSpecifier";\r
-        exported: ESLintIdentifier;\r
-    }\r
-    export interface ESLintExportDefaultDeclaration extends HasLocation, HasParent {\r
-        type: "ExportDefaultDeclaration";\r
-        declaration: ESLintDeclaration | ESLintExpression;\r
-    }\r
-    export interface ESLintExportAllDeclaration extends HasLocation, HasParent {\r
-        type: "ExportAllDeclaration";\r
-        source: ESLintLiteral;\r
-    }\r
-    export type ESLintExpression = ESLintThisExpression | ESLintArrayExpression | ESLintObjectExpression | ESLintFunctionExpression | ESLintArrowFunctionExpression | ESLintYieldExpression | ESLintLiteral | ESLintUnaryExpression | ESLintUpdateExpression | ESLintBinaryExpression | ESLintAssignmentExpression | ESLintLogicalExpression | ESLintMemberExpression | ESLintConditionalExpression | ESLintCallExpression | ESLintNewExpression | ESLintSequenceExpression | ESLintTemplateLiteral | ESLintTaggedTemplateExpression | ESLintClassExpression | ESLintMetaProperty | ESLintIdentifier | ESLintAwaitExpression;\r
-    export interface ESLintIdentifier extends HasLocation, HasParent {\r
-        type: "Identifier";\r
-        name: string;\r
-    }\r
-    export interface ESLintLiteral extends HasLocation, HasParent {\r
-        type: "Literal";\r
-        value: string | boolean | null | number | RegExp;\r
-        regex?: {\r
-            pattern: string;\r
-            flags: string;\r
-        };\r
-    }\r
-    export interface ESLintThisExpression extends HasLocation, HasParent {\r
-        type: "ThisExpression";\r
-    }\r
-    export interface ESLintArrayExpression extends HasLocation, HasParent {\r
-        type: "ArrayExpression";\r
-        elements: (ESLintExpression | ESLintSpreadElement)[];\r
-    }\r
-    export interface ESLintObjectExpression extends HasLocation, HasParent {\r
-        type: "ObjectExpression";\r
-        properties: (ESLintProperty | ESLintSpreadElement | ESLintLegacySpreadProperty)[];\r
-    }\r
-    export interface ESLintProperty extends HasLocation, HasParent {\r
-        type: "Property";\r
-        kind: "init" | "get" | "set";\r
-        method: boolean;\r
-        shorthand: boolean;\r
-        computed: boolean;\r
-        key: ESLintExpression;\r
-        value: ESLintExpression | ESLintPattern;\r
-    }\r
-    export interface ESLintFunctionExpression extends HasLocation, HasParent {\r
-        type: "FunctionExpression";\r
-        async: boolean;\r
-        generator: boolean;\r
-        id: ESLintIdentifier | null;\r
-        params: ESLintPattern[];\r
-        body: ESLintBlockStatement;\r
-    }\r
-    export interface ESLintArrowFunctionExpression extends HasLocation, HasParent {\r
-        type: "ArrowFunctionExpression";\r
-        async: boolean;\r
-        generator: boolean;\r
-        id: ESLintIdentifier | null;\r
-        params: ESLintPattern[];\r
-        body: ESLintBlockStatement;\r
-    }\r
-    export interface ESLintSequenceExpression extends HasLocation, HasParent {\r
-        type: "SequenceExpression";\r
-        expressions: ESLintExpression[];\r
-    }\r
-    export interface ESLintUnaryExpression extends HasLocation, HasParent {\r
-        type: "UnaryExpression";\r
-        operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";\r
-        prefix: boolean;\r
-        argument: ESLintExpression;\r
-    }\r
-    export interface ESLintBinaryExpression extends HasLocation, HasParent {\r
-        type: "BinaryExpression";\r
-        operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "|" | "^" | "&" | "in" | "instanceof";\r
-        left: ESLintExpression;\r
-        right: ESLintExpression;\r
-    }\r
-    export interface ESLintAssignmentExpression extends HasLocation, HasParent {\r
-        type: "AssignmentExpression";\r
-        operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";\r
-        left: ESLintPattern;\r
-        right: ESLintExpression;\r
-    }\r
-    export interface ESLintUpdateExpression extends HasLocation, HasParent {\r
-        type: "UpdateExpression";\r
-        operator: "++" | "--";\r
-        argument: ESLintExpression;\r
-        prefix: boolean;\r
-    }\r
-    export interface ESLintLogicalExpression extends HasLocation, HasParent {\r
-        type: "LogicalExpression";\r
-        operator: "||" | "&&";\r
-        left: ESLintExpression;\r
-        right: ESLintExpression;\r
-    }\r
-    export interface ESLintConditionalExpression extends HasLocation, HasParent {\r
-        type: "ConditionalExpression";\r
-        test: ESLintExpression;\r
-        alternate: ESLintExpression;\r
-        consequent: ESLintExpression;\r
-    }\r
-    export interface ESLintCallExpression extends HasLocation, HasParent {\r
-        type: "CallExpression";\r
-        callee: ESLintExpression | ESLintSuper;\r
-        arguments: (ESLintExpression | ESLintSpreadElement)[];\r
-    }\r
-    export interface ESLintSuper extends HasLocation, HasParent {\r
-        type: "Super";\r
-    }\r
-    export interface ESLintNewExpression extends HasLocation, HasParent {\r
-        type: "NewExpression";\r
-        callee: ESLintExpression;\r
-        arguments: (ESLintExpression | ESLintSpreadElement)[];\r
-    }\r
-    export interface ESLintMemberExpression extends HasLocation, HasParent {\r
-        type: "MemberExpression";\r
-        computed: boolean;\r
-        object: ESLintExpression | ESLintSuper;\r
-        property: ESLintExpression;\r
-    }\r
-    export interface ESLintYieldExpression extends HasLocation, HasParent {\r
-        type: "YieldExpression";\r
-        delegate: boolean;\r
-        argument: ESLintExpression | null;\r
-    }\r
-    export interface ESLintAwaitExpression extends HasLocation, HasParent {\r
-        type: "AwaitExpression";\r
-        argument: ESLintExpression;\r
-    }\r
-    export interface ESLintTemplateLiteral extends HasLocation, HasParent {\r
-        type: "TemplateLiteral";\r
-        quasis: ESLintTemplateElement[];\r
-        expressions: ESLintExpression[];\r
-    }\r
-    export interface ESLintTaggedTemplateExpression extends HasLocation, HasParent {\r
-        type: "TaggedTemplateExpression";\r
-        tag: ESLintExpression;\r
-        quasi: ESLintTemplateLiteral;\r
-    }\r
-    export interface ESLintTemplateElement extends HasLocation, HasParent {\r
-        type: "TemplateElement";\r
-        tail: boolean;\r
-        value: {\r
-            cooked: string;\r
-            raw: string;\r
-        };\r
-    }\r
-    export interface ESLintClassExpression extends HasLocation, HasParent {\r
-        type: "ClassExpression";\r
-        id: ESLintIdentifier | null;\r
-        superClass: ESLintExpression | null;\r
-        body: ESLintClassBody;\r
-    }\r
-    export interface ESLintMetaProperty extends HasLocation, HasParent {\r
-        type: "MetaProperty";\r
-        meta: ESLintIdentifier;\r
-        property: ESLintIdentifier;\r
-    }\r
-    export type ESLintPattern = ESLintIdentifier | ESLintObjectPattern | ESLintArrayPattern | ESLintRestElement | ESLintAssignmentPattern | ESLintMemberExpression | ESLintLegacyRestProperty;\r
-    export interface ESLintObjectPattern extends HasLocation, HasParent {\r
-        type: "ObjectPattern";\r
-        properties: (ESLintAssignmentProperty | ESLintRestElement | ESLintLegacyRestProperty)[];\r
-    }\r
-    export interface ESLintAssignmentProperty extends ESLintProperty {\r
-        value: ESLintPattern;\r
-        kind: "init";\r
-        method: false;\r
-    }\r
-    export interface ESLintArrayPattern extends HasLocation, HasParent {\r
-        type: "ArrayPattern";\r
-        elements: ESLintPattern[];\r
-    }\r
-    export interface ESLintRestElement extends HasLocation, HasParent {\r
-        type: "RestElement";\r
-        argument: ESLintPattern;\r
-    }\r
-    export interface ESLintSpreadElement extends HasLocation, HasParent {\r
-        type: "SpreadElement";\r
-        argument: ESLintExpression;\r
-    }\r
-    export interface ESLintAssignmentPattern extends HasLocation, HasParent {\r
-        type: "AssignmentPattern";\r
-        left: ESLintPattern;\r
-        right: ESLintExpression;\r
-    }\r
-    export interface ESLintLegacyRestProperty extends HasLocation, HasParent {\r
-        type: "RestProperty" | "ExperimentalRestProperty";\r
-        argument: ESLintPattern;\r
-    }\r
-    export interface ESLintLegacySpreadProperty extends HasLocation, HasParent {\r
-        type: "SpreadProperty" | "ExperimentalSpreadProperty";\r
-        argument: ESLintExpression;\r
-    }\r
-    export const NS: Readonly<{\r
-        HTML: "http://www.w3.org/1999/xhtml";\r
-        MathML: "http://www.w3.org/1998/Math/MathML";\r
-        SVG: "http://www.w3.org/2000/svg";\r
-        XLink: "http://www.w3.org/1999/xlink";\r
-        XML: "http://www.w3.org/XML/1998/namespace";\r
-        XMLNS: "http://www.w3.org/2000/xmlns/";\r
-    }>;\r
-    export type Namespace = typeof NS.HTML | typeof NS.MathML | typeof NS.SVG | typeof NS.XLink | typeof NS.XML | typeof NS.XMLNS;\r
-    export interface Variable {\r
-        id: ESLintIdentifier;\r
-        kind: "v-for" | "scope";\r
-        references: Reference[];\r
-    }\r
-    export interface Reference {\r
-        id: ESLintIdentifier;\r
-        mode: "rw" | "r" | "w";\r
-        variable: Variable | null;\r
-    }\r
-    export interface VForExpression extends HasLocation, HasParent {\r
-        type: "VForExpression";\r
-        parent: VExpressionContainer;\r
-        left: ESLintPattern[];\r
-        right: ESLintExpression;\r
-    }\r
-    export interface VOnExpression extends HasLocation, HasParent {\r
-        type: "VOnExpression";\r
-        parent: VExpressionContainer;\r
-        body: ESLintStatement[];\r
-    }\r
-    export interface VSlotScopeExpression extends HasLocation, HasParent {\r
-        type: "VSlotScopeExpression";\r
-        parent: VExpressionContainer;\r
-        params: ESLintPattern[];\r
-    }\r
-    export interface VFilterSequenceExpression extends HasLocation, HasParent {\r
-        type: "VFilterSequenceExpression";\r
-        parent: VExpressionContainer;\r
-        expression: ESLintExpression;\r
-        filters: VFilter[];\r
-    }\r
-    export interface VFilter extends HasLocation, HasParent {\r
-        type: "VFilter";\r
-        parent: VFilterSequenceExpression;\r
-        callee: ESLintIdentifier;\r
-        arguments: (ESLintExpression | ESLintSpreadElement)[];\r
-    }\r
-    export type VNode = VAttribute | VDirective | VDirectiveKey | VDocumentFragment | VElement | VEndTag | VExpressionContainer | VIdentifier | VLiteral | VStartTag | VText;\r
-    export interface VText extends HasLocation, HasParent {\r
-        type: "VText";\r
-        parent: VDocumentFragment | VElement;\r
-        value: string;\r
-    }\r
-    export interface VExpressionContainer extends HasLocation, HasParent {\r
-        type: "VExpressionContainer";\r
-        parent: VDocumentFragment | VElement | VDirective | VDirectiveKey;\r
-        expression: ESLintExpression | VFilterSequenceExpression | VForExpression | VOnExpression | VSlotScopeExpression | null;\r
-        references: Reference[];\r
-    }\r
-    export interface VIdentifier extends HasLocation, HasParent {\r
-        type: "VIdentifier";\r
-        parent: VAttribute | VDirectiveKey;\r
-        name: string;\r
-        rawName: string;\r
-    }\r
-    export interface VDirectiveKey extends HasLocation, HasParent {\r
-        type: "VDirectiveKey";\r
-        parent: VAttribute;\r
-        name: VIdentifier;\r
-        argument: VExpressionContainer | VIdentifier | null;\r
-        modifiers: VIdentifier[];\r
-    }\r
-    export interface VLiteral extends HasLocation, HasParent {\r
-        type: "VLiteral";\r
-        parent: VAttribute;\r
-        value: string;\r
-    }\r
-    export interface VAttribute extends HasLocation, HasParent {\r
-        type: "VAttribute";\r
-        parent: VStartTag;\r
-        directive: false;\r
-        key: VIdentifier;\r
-        value: VLiteral | null;\r
-    }\r
-    export interface VDirective extends HasLocation, HasParent {\r
-        type: "VAttribute";\r
-        parent: VStartTag;\r
-        directive: true;\r
-        key: VDirectiveKey;\r
-        value: VExpressionContainer | null;\r
-    }\r
-    export interface VStartTag extends HasLocation, HasParent {\r
-        type: "VStartTag";\r
-        parent: VElement;\r
-        selfClosing: boolean;\r
-        attributes: (VAttribute | VDirective)[];\r
-    }\r
-    export interface VEndTag extends HasLocation, HasParent {\r
-        type: "VEndTag";\r
-        parent: VElement;\r
-    }\r
-    export interface HasConcreteInfo {\r
-        tokens: Token[];\r
-        comments: Token[];\r
-        errors: ParseError[];\r
-    }\r
-    export interface VElement extends HasLocation, HasParent {\r
-        type: "VElement";\r
-        parent: VDocumentFragment | VElement;\r
-        namespace: Namespace;\r
-        name: string;\r
-        rawName: string;\r
-        startTag: VStartTag;\r
-        children: (VElement | VText | VExpressionContainer)[];\r
-        endTag: VEndTag | null;\r
-        variables: Variable[];\r
-    }\r
-    export interface VDocumentFragment extends HasLocation, HasParent, HasConcreteInfo {\r
-        type: "VDocumentFragment";\r
-        parent: null;\r
-        children: (VElement | VText | VExpressionContainer)[];\r
-    }\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast/tokens' {\r
-    import { HasLocation } from "vue-eslint-parser/ast/locations";\r
-    export interface Token extends HasLocation {\r
-        type: string;\r
-        value: string;\r
-    }\r
-}\r
-\r
-declare module 'vue-eslint-parser/ast/traverse' {\r
-    import { VisitorKeys } from "eslint-visitor-keys";\r
-    import { Node } from "vue-eslint-parser/ast/nodes";\r
-    function getFallbackKeys(node: Node): string[];\r
-    export interface Visitor {\r
-        visitorKeys?: VisitorKeys;\r
-        enterNode(node: Node, parent: Node | null): void;\r
-        leaveNode(node: Node, parent: Node | null): void;\r
-    }\r
-    export function traverseNodes(node: Node, visitor: Visitor): void;\r
-    export { getFallbackKeys };\r
-}\r
-\r
+// Generated by dts-bundle v0.7.3
+// Dependencies for this module:
+//   ../eslint-scope
+//   ../eslint-visitor-keys
+
+declare module 'vue-eslint-parser' {
+    import * as AST from "vue-eslint-parser/ast";
+    export function parseForESLint(code: string, options: any): AST.ESLintExtendedProgram;
+    export function parse(code: string, options: any): AST.ESLintProgram;
+    export { AST };
+}
+
+declare module 'vue-eslint-parser/ast' {
+    export * from "vue-eslint-parser/ast/errors";
+    export * from "vue-eslint-parser/ast/locations";
+    export * from "vue-eslint-parser/ast/nodes";
+    export * from "vue-eslint-parser/ast/tokens";
+    export * from "vue-eslint-parser/ast/traverse";
+}
+
+declare module 'vue-eslint-parser/ast/errors' {
+    export class ParseError extends SyntaxError {
+        code?: ErrorCode;
+        index: number;
+        lineNumber: number;
+        column: number;
+        static fromCode(code: ErrorCode, offset: number, line: number, column: number): ParseError;
+        static normalize(x: any): ParseError | null;
+        constructor(message: string, code: ErrorCode | undefined, offset: number, line: number, column: number);
+        static isParseError(x: any): x is ParseError;
+    }
+    export type ErrorCode = "abrupt-closing-of-empty-comment" | "absence-of-digits-in-numeric-character-reference" | "cdata-in-html-content" | "character-reference-outside-unicode-range" | "control-character-in-input-stream" | "control-character-reference" | "eof-before-tag-name" | "eof-in-cdata" | "eof-in-comment" | "eof-in-tag" | "incorrectly-closed-comment" | "incorrectly-opened-comment" | "invalid-first-character-of-tag-name" | "missing-attribute-value" | "missing-end-tag-name" | "missing-semicolon-after-character-reference" | "missing-whitespace-between-attributes" | "nested-comment" | "noncharacter-character-reference" | "noncharacter-in-input-stream" | "null-character-reference" | "surrogate-character-reference" | "surrogate-in-input-stream" | "unexpected-character-in-attribute-name" | "unexpected-character-in-unquoted-attribute-value" | "unexpected-equals-sign-before-attribute-name" | "unexpected-null-character" | "unexpected-question-mark-instead-of-tag-name" | "unexpected-solidus-in-tag" | "unknown-named-character-reference" | "end-tag-with-attributes" | "duplicate-attribute" | "end-tag-with-trailing-solidus" | "non-void-html-element-start-tag-with-trailing-solidus" | "x-invalid-end-tag" | "x-invalid-namespace";
+}
+
+declare module 'vue-eslint-parser/ast/locations' {
+    export interface Location {
+        line: number;
+        column: number;
+    }
+    export interface LocationRange {
+        start: Location;
+        end: Location;
+    }
+    export type Offset = number;
+    export type OffsetRange = [Offset, Offset];
+    export interface HasLocation {
+        range: OffsetRange;
+        loc: LocationRange;
+        start?: number;
+        end?: number;
+    }
+}
+
+declare module 'vue-eslint-parser/ast/nodes' {
+    import { ScopeManager } from "eslint-scope";
+    import { ParseError } from "vue-eslint-parser/ast/errors";
+    import { HasLocation } from "vue-eslint-parser/ast/locations";
+    import { Token } from "vue-eslint-parser/ast/tokens";
+    export interface HasParent {
+        parent?: Node | null;
+    }
+    export type Node = ESLintNode | VNode | VForExpression | VOnExpression | VSlotScopeExpression | VFilterSequenceExpression | VFilter;
+    export type ESLintNode = ESLintIdentifier | ESLintLiteral | ESLintProgram | ESLintSwitchCase | ESLintCatchClause | ESLintVariableDeclarator | ESLintStatement | ESLintExpression | ESLintProperty | ESLintAssignmentProperty | ESLintSuper | ESLintTemplateElement | ESLintSpreadElement | ESLintPattern | ESLintClassBody | ESLintMethodDefinition | ESLintModuleDeclaration | ESLintModuleSpecifier | ESLintLegacyRestProperty;
+    export interface ESLintExtendedProgram {
+        ast: ESLintProgram;
+        services?: {};
+        visitorKeys?: {
+            [type: string]: string[];
+        };
+        scopeManager?: ScopeManager;
+    }
+    export interface ESLintProgram extends HasLocation, HasParent {
+        type: "Program";
+        sourceType: "script" | "module";
+        body: (ESLintStatement | ESLintModuleDeclaration)[];
+        templateBody?: VElement & HasConcreteInfo;
+        tokens?: Token[];
+        comments?: Token[];
+        errors?: ParseError[];
+    }
+    export type ESLintStatement = ESLintExpressionStatement | ESLintBlockStatement | ESLintEmptyStatement | ESLintDebuggerStatement | ESLintWithStatement | ESLintReturnStatement | ESLintLabeledStatement | ESLintBreakStatement | ESLintContinueStatement | ESLintIfStatement | ESLintSwitchStatement | ESLintThrowStatement | ESLintTryStatement | ESLintWhileStatement | ESLintDoWhileStatement | ESLintForStatement | ESLintForInStatement | ESLintForOfStatement | ESLintDeclaration;
+    export interface ESLintEmptyStatement extends HasLocation, HasParent {
+        type: "EmptyStatement";
+    }
+    export interface ESLintBlockStatement extends HasLocation, HasParent {
+        type: "BlockStatement";
+        body: ESLintStatement[];
+    }
+    export interface ESLintExpressionStatement extends HasLocation, HasParent {
+        type: "ExpressionStatement";
+        expression: ESLintExpression;
+    }
+    export interface ESLintIfStatement extends HasLocation, HasParent {
+        type: "IfStatement";
+        test: ESLintExpression;
+        consequent: ESLintStatement;
+        alternate: ESLintStatement | null;
+    }
+    export interface ESLintSwitchStatement extends HasLocation, HasParent {
+        type: "SwitchStatement";
+        discriminant: ESLintExpression;
+        cases: ESLintSwitchCase[];
+    }
+    export interface ESLintSwitchCase extends HasLocation, HasParent {
+        type: "SwitchCase";
+        test: ESLintExpression | null;
+        consequent: ESLintStatement[];
+    }
+    export interface ESLintWhileStatement extends HasLocation, HasParent {
+        type: "WhileStatement";
+        test: ESLintExpression;
+        body: ESLintStatement;
+    }
+    export interface ESLintDoWhileStatement extends HasLocation, HasParent {
+        type: "DoWhileStatement";
+        body: ESLintStatement;
+        test: ESLintExpression;
+    }
+    export interface ESLintForStatement extends HasLocation, HasParent {
+        type: "ForStatement";
+        init: ESLintVariableDeclaration | ESLintExpression | null;
+        test: ESLintExpression | null;
+        update: ESLintExpression | null;
+        body: ESLintStatement;
+    }
+    export interface ESLintForInStatement extends HasLocation, HasParent {
+        type: "ForInStatement";
+        left: ESLintVariableDeclaration | ESLintPattern;
+        right: ESLintExpression;
+        body: ESLintStatement;
+    }
+    export interface ESLintForOfStatement extends HasLocation, HasParent {
+        type: "ForOfStatement";
+        left: ESLintVariableDeclaration | ESLintPattern;
+        right: ESLintExpression;
+        body: ESLintStatement;
+    }
+    export interface ESLintLabeledStatement extends HasLocation, HasParent {
+        type: "LabeledStatement";
+        label: ESLintIdentifier;
+        body: ESLintStatement;
+    }
+    export interface ESLintBreakStatement extends HasLocation, HasParent {
+        type: "BreakStatement";
+        label: ESLintIdentifier | null;
+    }
+    export interface ESLintContinueStatement extends HasLocation, HasParent {
+        type: "ContinueStatement";
+        label: ESLintIdentifier | null;
+    }
+    export interface ESLintReturnStatement extends HasLocation, HasParent {
+        type: "ReturnStatement";
+        argument: ESLintExpression | null;
+    }
+    export interface ESLintThrowStatement extends HasLocation, HasParent {
+        type: "ThrowStatement";
+        argument: ESLintExpression;
+    }
+    export interface ESLintTryStatement extends HasLocation, HasParent {
+        type: "TryStatement";
+        block: ESLintBlockStatement;
+        handler: ESLintCatchClause | null;
+        finalizer: ESLintBlockStatement | null;
+    }
+    export interface ESLintCatchClause extends HasLocation, HasParent {
+        type: "CatchClause";
+        param: ESLintPattern;
+        body: ESLintBlockStatement;
+    }
+    export interface ESLintWithStatement extends HasLocation, HasParent {
+        type: "WithStatement";
+        object: ESLintExpression;
+        body: ESLintStatement;
+    }
+    export interface ESLintDebuggerStatement extends HasLocation, HasParent {
+        type: "DebuggerStatement";
+    }
+    export type ESLintDeclaration = ESLintFunctionDeclaration | ESLintVariableDeclaration | ESLintClassDeclaration;
+    export interface ESLintFunctionDeclaration extends HasLocation, HasParent {
+        type: "FunctionDeclaration";
+        async: boolean;
+        generator: boolean;
+        id: ESLintIdentifier | null;
+        params: ESLintPattern[];
+        body: ESLintBlockStatement;
+    }
+    export interface ESLintVariableDeclaration extends HasLocation, HasParent {
+        type: "VariableDeclaration";
+        kind: "var" | "let" | "const";
+        declarations: ESLintVariableDeclarator[];
+    }
+    export interface ESLintVariableDeclarator extends HasLocation, HasParent {
+        type: "VariableDeclarator";
+        id: ESLintPattern;
+        init: ESLintExpression | null;
+    }
+    export interface ESLintClassDeclaration extends HasLocation, HasParent {
+        type: "ClassDeclaration";
+        id: ESLintIdentifier | null;
+        superClass: ESLintExpression | null;
+        body: ESLintClassBody;
+    }
+    export interface ESLintClassBody extends HasLocation, HasParent {
+        type: "ClassBody";
+        body: ESLintMethodDefinition[];
+    }
+    export interface ESLintMethodDefinition extends HasLocation, HasParent {
+        type: "MethodDefinition";
+        kind: "constructor" | "method" | "get" | "set";
+        computed: boolean;
+        static: boolean;
+        key: ESLintExpression;
+        value: ESLintFunctionExpression;
+    }
+    export type ESLintModuleDeclaration = ESLintImportDeclaration | ESLintExportNamedDeclaration | ESLintExportDefaultDeclaration | ESLintExportAllDeclaration;
+    export type ESLintModuleSpecifier = ESLintImportSpecifier | ESLintImportDefaultSpecifier | ESLintImportNamespaceSpecifier | ESLintExportSpecifier;
+    export interface ESLintImportDeclaration extends HasLocation, HasParent {
+        type: "ImportDeclaration";
+        specifiers: (ESLintImportSpecifier | ESLintImportDefaultSpecifier | ESLintImportNamespaceSpecifier)[];
+        source: ESLintLiteral;
+    }
+    export interface ESLintImportSpecifier extends HasLocation, HasParent {
+        type: "ImportSpecifier";
+        imported: ESLintIdentifier;
+        local: ESLintIdentifier;
+    }
+    export interface ESLintImportDefaultSpecifier extends HasLocation, HasParent {
+        type: "ImportDefaultSpecifier";
+        local: ESLintIdentifier;
+    }
+    export interface ESLintImportNamespaceSpecifier extends HasLocation, HasParent {
+        type: "ImportNamespaceSpecifier";
+        local: ESLintIdentifier;
+    }
+    export interface ESLintExportNamedDeclaration extends HasLocation, HasParent {
+        type: "ExportNamedDeclaration";
+        declaration?: ESLintDeclaration | null;
+        specifiers: ESLintExportSpecifier[];
+        source?: ESLintLiteral | null;
+    }
+    export interface ESLintExportSpecifier extends HasLocation, HasParent {
+        type: "ExportSpecifier";
+        exported: ESLintIdentifier;
+    }
+    export interface ESLintExportDefaultDeclaration extends HasLocation, HasParent {
+        type: "ExportDefaultDeclaration";
+        declaration: ESLintDeclaration | ESLintExpression;
+    }
+    export interface ESLintExportAllDeclaration extends HasLocation, HasParent {
+        type: "ExportAllDeclaration";
+        source: ESLintLiteral;
+    }
+    export type ESLintExpression = ESLintThisExpression | ESLintArrayExpression | ESLintObjectExpression | ESLintFunctionExpression | ESLintArrowFunctionExpression | ESLintYieldExpression | ESLintLiteral | ESLintUnaryExpression | ESLintUpdateExpression | ESLintBinaryExpression | ESLintAssignmentExpression | ESLintLogicalExpression | ESLintMemberExpression | ESLintConditionalExpression | ESLintCallExpression | ESLintNewExpression | ESLintSequenceExpression | ESLintTemplateLiteral | ESLintTaggedTemplateExpression | ESLintClassExpression | ESLintMetaProperty | ESLintIdentifier | ESLintAwaitExpression;
+    export interface ESLintIdentifier extends HasLocation, HasParent {
+        type: "Identifier";
+        name: string;
+    }
+    export interface ESLintLiteral extends HasLocation, HasParent {
+        type: "Literal";
+        value: string | boolean | null | number | RegExp;
+        regex?: {
+            pattern: string;
+            flags: string;
+        };
+    }
+    export interface ESLintThisExpression extends HasLocation, HasParent {
+        type: "ThisExpression";
+    }
+    export interface ESLintArrayExpression extends HasLocation, HasParent {
+        type: "ArrayExpression";
+        elements: (ESLintExpression | ESLintSpreadElement)[];
+    }
+    export interface ESLintObjectExpression extends HasLocation, HasParent {
+        type: "ObjectExpression";
+        properties: (ESLintProperty | ESLintSpreadElement | ESLintLegacySpreadProperty)[];
+    }
+    export interface ESLintProperty extends HasLocation, HasParent {
+        type: "Property";
+        kind: "init" | "get" | "set";
+        method: boolean;
+        shorthand: boolean;
+        computed: boolean;
+        key: ESLintExpression;
+        value: ESLintExpression | ESLintPattern;
+    }
+    export interface ESLintFunctionExpression extends HasLocation, HasParent {
+        type: "FunctionExpression";
+        async: boolean;
+        generator: boolean;
+        id: ESLintIdentifier | null;
+        params: ESLintPattern[];
+        body: ESLintBlockStatement;
+    }
+    export interface ESLintArrowFunctionExpression extends HasLocation, HasParent {
+        type: "ArrowFunctionExpression";
+        async: boolean;
+        generator: boolean;
+        id: ESLintIdentifier | null;
+        params: ESLintPattern[];
+        body: ESLintBlockStatement;
+    }
+    export interface ESLintSequenceExpression extends HasLocation, HasParent {
+        type: "SequenceExpression";
+        expressions: ESLintExpression[];
+    }
+    export interface ESLintUnaryExpression extends HasLocation, HasParent {
+        type: "UnaryExpression";
+        operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
+        prefix: boolean;
+        argument: ESLintExpression;
+    }
+    export interface ESLintBinaryExpression extends HasLocation, HasParent {
+        type: "BinaryExpression";
+        operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "|" | "^" | "&" | "in" | "instanceof";
+        left: ESLintExpression;
+        right: ESLintExpression;
+    }
+    export interface ESLintAssignmentExpression extends HasLocation, HasParent {
+        type: "AssignmentExpression";
+        operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
+        left: ESLintPattern;
+        right: ESLintExpression;
+    }
+    export interface ESLintUpdateExpression extends HasLocation, HasParent {
+        type: "UpdateExpression";
+        operator: "++" | "--";
+        argument: ESLintExpression;
+        prefix: boolean;
+    }
+    export interface ESLintLogicalExpression extends HasLocation, HasParent {
+        type: "LogicalExpression";
+        operator: "||" | "&&";
+        left: ESLintExpression;
+        right: ESLintExpression;
+    }
+    export interface ESLintConditionalExpression extends HasLocation, HasParent {
+        type: "ConditionalExpression";
+        test: ESLintExpression;
+        alternate: ESLintExpression;
+        consequent: ESLintExpression;
+    }
+    export interface ESLintCallExpression extends HasLocation, HasParent {
+        type: "CallExpression";
+        callee: ESLintExpression | ESLintSuper;
+        arguments: (ESLintExpression | ESLintSpreadElement)[];
+    }
+    export interface ESLintSuper extends HasLocation, HasParent {
+        type: "Super";
+    }
+    export interface ESLintNewExpression extends HasLocation, HasParent {
+        type: "NewExpression";
+        callee: ESLintExpression;
+        arguments: (ESLintExpression | ESLintSpreadElement)[];
+    }
+    export interface ESLintMemberExpression extends HasLocation, HasParent {
+        type: "MemberExpression";
+        computed: boolean;
+        object: ESLintExpression | ESLintSuper;
+        property: ESLintExpression;
+    }
+    export interface ESLintYieldExpression extends HasLocation, HasParent {
+        type: "YieldExpression";
+        delegate: boolean;
+        argument: ESLintExpression | null;
+    }
+    export interface ESLintAwaitExpression extends HasLocation, HasParent {
+        type: "AwaitExpression";
+        argument: ESLintExpression;
+    }
+    export interface ESLintTemplateLiteral extends HasLocation, HasParent {
+        type: "TemplateLiteral";
+        quasis: ESLintTemplateElement[];
+        expressions: ESLintExpression[];
+    }
+    export interface ESLintTaggedTemplateExpression extends HasLocation, HasParent {
+        type: "TaggedTemplateExpression";
+        tag: ESLintExpression;
+        quasi: ESLintTemplateLiteral;
+    }
+    export interface ESLintTemplateElement extends HasLocation, HasParent {
+        type: "TemplateElement";
+        tail: boolean;
+        value: {
+            cooked: string;
+            raw: string;
+        };
+    }
+    export interface ESLintClassExpression extends HasLocation, HasParent {
+        type: "ClassExpression";
+        id: ESLintIdentifier | null;
+        superClass: ESLintExpression | null;
+        body: ESLintClassBody;
+    }
+    export interface ESLintMetaProperty extends HasLocation, HasParent {
+        type: "MetaProperty";
+        meta: ESLintIdentifier;
+        property: ESLintIdentifier;
+    }
+    export type ESLintPattern = ESLintIdentifier | ESLintObjectPattern | ESLintArrayPattern | ESLintRestElement | ESLintAssignmentPattern | ESLintMemberExpression | ESLintLegacyRestProperty;
+    export interface ESLintObjectPattern extends HasLocation, HasParent {
+        type: "ObjectPattern";
+        properties: (ESLintAssignmentProperty | ESLintRestElement | ESLintLegacyRestProperty)[];
+    }
+    export interface ESLintAssignmentProperty extends ESLintProperty {
+        value: ESLintPattern;
+        kind: "init";
+        method: false;
+    }
+    export interface ESLintArrayPattern extends HasLocation, HasParent {
+        type: "ArrayPattern";
+        elements: ESLintPattern[];
+    }
+    export interface ESLintRestElement extends HasLocation, HasParent {
+        type: "RestElement";
+        argument: ESLintPattern;
+    }
+    export interface ESLintSpreadElement extends HasLocation, HasParent {
+        type: "SpreadElement";
+        argument: ESLintExpression;
+    }
+    export interface ESLintAssignmentPattern extends HasLocation, HasParent {
+        type: "AssignmentPattern";
+        left: ESLintPattern;
+        right: ESLintExpression;
+    }
+    export interface ESLintLegacyRestProperty extends HasLocation, HasParent {
+        type: "RestProperty" | "ExperimentalRestProperty";
+        argument: ESLintPattern;
+    }
+    export interface ESLintLegacySpreadProperty extends HasLocation, HasParent {
+        type: "SpreadProperty" | "ExperimentalSpreadProperty";
+        argument: ESLintExpression;
+    }
+    export const NS: Readonly<{
+        HTML: "http://www.w3.org/1999/xhtml";
+        MathML: "http://www.w3.org/1998/Math/MathML";
+        SVG: "http://www.w3.org/2000/svg";
+        XLink: "http://www.w3.org/1999/xlink";
+        XML: "http://www.w3.org/XML/1998/namespace";
+        XMLNS: "http://www.w3.org/2000/xmlns/";
+    }>;
+    export type Namespace = typeof NS.HTML | typeof NS.MathML | typeof NS.SVG | typeof NS.XLink | typeof NS.XML | typeof NS.XMLNS;
+    export interface Variable {
+        id: ESLintIdentifier;
+        kind: "v-for" | "scope";
+        references: Reference[];
+    }
+    export interface Reference {
+        id: ESLintIdentifier;
+        mode: "rw" | "r" | "w";
+        variable: Variable | null;
+    }
+    export interface VForExpression extends HasLocation, HasParent {
+        type: "VForExpression";
+        parent: VExpressionContainer;
+        left: ESLintPattern[];
+        right: ESLintExpression;
+    }
+    export interface VOnExpression extends HasLocation, HasParent {
+        type: "VOnExpression";
+        parent: VExpressionContainer;
+        body: ESLintStatement[];
+    }
+    export interface VSlotScopeExpression extends HasLocation, HasParent {
+        type: "VSlotScopeExpression";
+        parent: VExpressionContainer;
+        params: ESLintPattern[];
+    }
+    export interface VFilterSequenceExpression extends HasLocation, HasParent {
+        type: "VFilterSequenceExpression";
+        parent: VExpressionContainer;
+        expression: ESLintExpression;
+        filters: VFilter[];
+    }
+    export interface VFilter extends HasLocation, HasParent {
+        type: "VFilter";
+        parent: VFilterSequenceExpression;
+        callee: ESLintIdentifier;
+        arguments: (ESLintExpression | ESLintSpreadElement)[];
+    }
+    export type VNode = VAttribute | VDirective | VDirectiveKey | VDocumentFragment | VElement | VEndTag | VExpressionContainer | VIdentifier | VLiteral | VStartTag | VText;
+    export interface VText extends HasLocation, HasParent {
+        type: "VText";
+        parent: VDocumentFragment | VElement;
+        value: string;
+    }
+    export interface VExpressionContainer extends HasLocation, HasParent {
+        type: "VExpressionContainer";
+        parent: VDocumentFragment | VElement | VDirective | VDirectiveKey;
+        expression: ESLintExpression | VFilterSequenceExpression | VForExpression | VOnExpression | VSlotScopeExpression | null;
+        references: Reference[];
+    }
+    export interface VIdentifier extends HasLocation, HasParent {
+        type: "VIdentifier";
+        parent: VAttribute | VDirectiveKey;
+        name: string;
+        rawName: string;
+    }
+    export interface VDirectiveKey extends HasLocation, HasParent {
+        type: "VDirectiveKey";
+        parent: VAttribute;
+        name: VIdentifier;
+        argument: VExpressionContainer | VIdentifier | null;
+        modifiers: VIdentifier[];
+    }
+    export interface VLiteral extends HasLocation, HasParent {
+        type: "VLiteral";
+        parent: VAttribute;
+        value: string;
+    }
+    export interface VAttribute extends HasLocation, HasParent {
+        type: "VAttribute";
+        parent: VStartTag;
+        directive: false;
+        key: VIdentifier;
+        value: VLiteral | null;
+    }
+    export interface VDirective extends HasLocation, HasParent {
+        type: "VAttribute";
+        parent: VStartTag;
+        directive: true;
+        key: VDirectiveKey;
+        value: VExpressionContainer | null;
+    }
+    export interface VStartTag extends HasLocation, HasParent {
+        type: "VStartTag";
+        parent: VElement;
+        selfClosing: boolean;
+        attributes: (VAttribute | VDirective)[];
+    }
+    export interface VEndTag extends HasLocation, HasParent {
+        type: "VEndTag";
+        parent: VElement;
+    }
+    export interface HasConcreteInfo {
+        tokens: Token[];
+        comments: Token[];
+        errors: ParseError[];
+    }
+    export interface VElement extends HasLocation, HasParent {
+        type: "VElement";
+        parent: VDocumentFragment | VElement;
+        namespace: Namespace;
+        name: string;
+        rawName: string;
+        startTag: VStartTag;
+        children: (VElement | VText | VExpressionContainer)[];
+        endTag: VEndTag | null;
+        variables: Variable[];
+    }
+    export interface VDocumentFragment extends HasLocation, HasParent, HasConcreteInfo {
+        type: "VDocumentFragment";
+        parent: null;
+        children: (VElement | VText | VExpressionContainer)[];
+    }
+}
+
+declare module 'vue-eslint-parser/ast/tokens' {
+    import { HasLocation } from "vue-eslint-parser/ast/locations";
+    export interface Token extends HasLocation {
+        type: string;
+        value: string;
+    }
+}
+
+declare module 'vue-eslint-parser/ast/traverse' {
+    import { VisitorKeys } from "eslint-visitor-keys";
+    import { Node } from "vue-eslint-parser/ast/nodes";
+    function getFallbackKeys(node: Node): string[];
+    export interface Visitor {
+        visitorKeys?: VisitorKeys;
+        enterNode(node: Node, parent: Node | null): void;
+        leaveNode(node: Node, parent: Node | null): void;
+    }
+    export function traverseNodes(node: Node, visitor: Visitor): void;
+    export { getFallbackKeys };
+}
+