import { postcss } from "opticss"; import { Block } from "../BlockTree"; import { ResolvedConfiguration } from "../configuration"; import { SourceFile, SourceRange } from "../SourceLocation"; /** * `ConflictResolver` is a utility class that crawls a Block, the block it inherits from, * and any other explicitly referenced blocks where resolution rules are applied, and * resolves property values accordingly. */ export declare class ConflictResolver { readonly config: ResolvedConfiguration; private _reservedClassNames; constructor(config: ResolvedConfiguration, reservedClassNames: Set); /** * Given a ruleset and Block, resolve all conflicts against the parent block as an override * by automatically injecting `resolve-inherited()` calls for conflicting properties. * @param root The PostCSS ruleset to operate on. * @param block The owner block of these rules. */ resolveInheritance(root: postcss.Root, block: Block): void; /** * Given a ruleset and Block, resolve all `resolve()` and `resolve-inherited()` * calls with the appropriate values from the local block and resolved blocks. * @param root The PostCSS ruleset to operate on. * @param block The owner block of these rules. */ resolve(root: postcss.Root, block: Block): void; private resolveConflictWith; /** * Splits a CompoundSelector linked list into an array of [ CompoundSelector, Combinator, CompoundSelector ], * where the first CompoundSelector is all but the last selector segment. * @param s The compound selector to split. * @returns [ CompoundSelector, Combinator, CompoundSelector ] */ private splitSelector; /** * Given two conflicting ParsedSelectors, return a list of selector rules that * select elements with both rules present. * @param s1 Conflicting ParsedSelector 1. * @param s2 Conflicting ParsedSelector 2. * @returns A list of ParsedSelector rules that select all possible elements that can have both styles applied. */ private mergeKeySelectors; sourceRange(block: Block, node: postcss.Node): SourceRange | SourceFile | undefined; } //# sourceMappingURL=ConflictResolver.d.ts.map