/** * Selector specificity, computed from selector text. * * Needed because the CSSOM does not expose it. Under a profile without computed * style this decides which declaration wins, so an error here silently changes * a snapshot's values rather than crashing — which is why the parser below * declines rather than guesses on anything it does not recognize. */ export type Specificity = readonly [number, number, number]; export declare function specificityOf(selector: string): Specificity; /** The most specific branch of a comma-separated selector list. */ export declare function mostSpecific(selectorList: string): Specificity; export declare function compareSpecificity(a: Specificity, b: Specificity): number; /** * Split on commas that are not inside brackets, parentheses, or strings. * * `:is(a, b)` and `[title="x, y"]` both contain commas that do not separate * selectors. Splitting naively would produce branches that match nothing, which * would silently drop real rules from the capture. */ export declare function splitSelectorList(selectorList: string): string[]; //# sourceMappingURL=specificity.d.ts.map