import type { AST } from 'svelte-eslint-parser'; import type { RuleContext } from '../../types'; import type { TSESTree } from '@typescript-eslint/types'; export declare function parseStyleAttributeValue(node: AST.SvelteAttribute, context: RuleContext): SvelteStyleRoot | null; export type SvelteStyleInterpolation = AST.SvelteMustacheTagText | TSESTree.Expression; export interface SvelteStyleNode { nodes?: SvelteStyleChildNode[]; range: AST.Range; loc: AST.SourceLocation; } export interface SvelteStyleRoot { type: 'root'; nodes: (SvelteStyleChildNode | SvelteStyleInline)[]; } export interface SvelteStyleInline extends SvelteStyleNode { type: 'inline'; node: E; getInlineStyle(node: TSESTree.Expression): SvelteStyleRoot | null; getAllInlineStyles(): Map>; } export interface SvelteStyleDeclaration extends SvelteStyleNode { type: 'decl'; prop: { name: string; range: AST.Range; loc: AST.SourceLocation; interpolations: E[]; }; value: { value: string; range: AST.Range; loc: AST.SourceLocation; interpolations: E[]; }; important: boolean; addInterpolation: (tagOrExpr: E) => void; unknownInterpolations: E[]; } export interface SvelteStyleComment extends SvelteStyleNode { type: 'comment'; addInterpolation: (tagOrExpr: SvelteStyleInterpolation) => void; } export type SvelteStyleChildNode = SvelteStyleDeclaration | SvelteStyleComment;