import { Block, Options as CSSBlocksOptions, ResolvedConfiguration as CSSBlocksConfiguration, StyleMapping } from "@css-blocks/core"; import type { AST, ASTPlugin, NodeVisitor, Syntax } from "@glimmer/syntax"; import { TemplateTypes } from "@opticss/template-api"; import { GlimmerAnalysis } from "./Analyzer"; import { TemplateElement } from "./ElementAnalyzer"; import { TEMPLATE_TYPE } from "./Template"; export declare type GlimmerStyleMapping = StyleMapping; interface ASTPluginWithDeps extends ASTPlugin { /** * If this method exists, it is called with the relative path to the current * file just before processing starts. Use this method to reset the * dependency tracking state associated with the file. */ resetDependencies?(relativePath: string): void; /** * This method is called just as the template finishes being processed. * * @param relativePath A relative path to the file that may have dependencies. * @return paths to files that are a dependency for the given * file. Any relative paths returned by this method are taken to be relative * to the file that was processed. */ dependencies(relativePath: string): string[]; } export declare class GlimmerRewriter implements ASTPluginWithDeps { template: TemplateTypes[TEMPLATE_TYPE] & { identifier: string; path?: string; relativePath?: string; fullPath?: string; }; templatePath: string; analysis: GlimmerAnalysis; elementCount: number; syntax: Syntax; block: Block; styleMapping: GlimmerStyleMapping; cssBlocksOpts: CSSBlocksConfiguration; visitor: NodeVisitor; visitors: NodeVisitor; private elementAnalyzer; constructor(syntax: Syntax, styleMapping: GlimmerStyleMapping, analysis: GlimmerAnalysis, cssBlocksOpts: CSSBlocksOptions); debug(message: string, ...args: unknown[]): void; get name(): string; /** * @param _relativePath Unused in this implementation. * @returns Files this template file depends on. */ dependencies(_relativePath: string): Array; HelperStatement(node: AST.MustacheStatement | AST.BlockStatement | AST.SubExpression): void; BuiltInStatement(node: AST.MustacheStatement | AST.BlockStatement): void; buildStringValue(subexpression: false, value: string): AST.TextNode; buildStringValue(subexpression: true, value: string): AST.StringLiteral; buildStringValue(subexpression: boolean, value: string): AST.StringLiteral | AST.TextNode; buildStringConcatExpr(strings: Array): AST.SubExpression; buildStringConcatStmnt(strings: Array): AST.ConcatStatement; buildClassValue(subexpression: false, analysis: TemplateElement): AST.TextNode | AST.MustacheStatement | AST.ConcatStatement | null; buildClassValue(subexpression: true, analysis: TemplateElement): AST.StringLiteral | AST.SubExpression | null; StyleOfHelper(node: AST.MustacheStatement | AST.SubExpression): void; ElementNode(node: AST.ElementNode): void; } export {}; //# sourceMappingURL=Rewriter.d.ts.map