import type { AST } from "svelte-eslint-parser"; import type { RuleContext } from "../../types"; import type * as ESTree from "estree"; export declare function parseStyleAttributeValue(node: AST.SvelteAttribute, context: RuleContext): SvelteStyleRoot | null; export declare type SvelteStyleInterpolation = AST.SvelteMustacheTagText | ESTree.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: ESTree.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 declare type SvelteStyleChildNode = SvelteStyleDeclaration | SvelteStyleComment;