import type { ASTNode, RuleContext, SourceCode } from "../types"; import type * as ESTree from "estree"; import type { AST as SvAST } from "svelte-eslint-parser"; import type { Scope } from "eslint"; export declare function equalTokens(left: ASTNode, right: ASTNode, sourceCode: SourceCode): boolean; export declare function getStringIfConstant(node: ESTree.Expression): string | null; export declare function needParentheses(node: ESTree.Expression, kind: "not" | "logical"): boolean; export declare function findAttribute(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteAttribute & { key: SvAST.SvelteAttribute["key"] & { name: N; }; }) | null; export declare function findShorthandAttribute(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteShorthandAttribute & { key: SvAST.SvelteShorthandAttribute["key"] & { name: N; }; }) | null; export declare function findBindDirective(node: SvAST.SvelteElement | SvAST.SvelteScriptElement | SvAST.SvelteStyleElement | SvAST.SvelteStartTag, name: N): (SvAST.SvelteBindingDirective & { key: SvAST.SvelteDirectiveKey & { name: SvAST.SvelteDirectiveKey["name"] & { name: N; }; }; }) | null; export declare function getStaticAttributeValue(node: SvAST.SvelteAttribute): string | null; export declare function getLangValue(node: SvAST.SvelteScriptElement | SvAST.SvelteStyleElement): string | null; export declare function findVariable(context: RuleContext, node: ESTree.Identifier): Scope.Variable | null; export declare function getScope(context: RuleContext, currentNode: ESTree.Node): Scope.Scope; export declare type QuoteAndRange = { quote: "unquoted" | "double" | "single"; range: [number, number]; firstToken: SvAST.Token | SvAST.Comment; lastToken: SvAST.Token | SvAST.Comment; }; export declare function getAttributeValueQuoteAndRange(attr: SvAST.SvelteAttribute | SvAST.SvelteDirective | SvAST.SvelteStyleDirective | SvAST.SvelteSpecialDirective, sourceCode: SourceCode): QuoteAndRange | null; export declare function getMustacheTokens(node: SvAST.SvelteMustacheTag | SvAST.SvelteShorthandAttribute | SvAST.SvelteSpreadAttribute | SvAST.SvelteDebugTag, sourceCode: SourceCode): { openToken: SvAST.Token; closeToken: SvAST.Token; }; export declare function getMustacheTokens(node: SvAST.SvelteDirective | SvAST.SvelteSpecialDirective | SvAST.SvelteMustacheTag | SvAST.SvelteShorthandAttribute | SvAST.SvelteSpreadAttribute | SvAST.SvelteDebugTag, sourceCode: SourceCode): { openToken: SvAST.Token; closeToken: SvAST.Token; } | null;