import * as parse5 from "parse5"; import * as postcss from "postcss"; import * as specificity from "specificity"; export interface PseudoStates { /** * Maps the pseudo-state's name to the elements for which * that state can affect the computed style of an element. */ [pseudoState: string]: Array; } export interface StyledPseudoElements { /** * Maps the pseudo-element's name to its computed style * The name does not include the preceding colon(s). */ [pseudoElement: string]: ElementStyle; } /** * The styles computed from the cascade for an element in a particular state. */ export interface ComputedStyle { [property: string]: string; } export interface MatchedSelector { selector: string; rule: postcss.Rule; specificity: specificity.Specificity; } export declare class ElementStyle { matchedSelectors: Array; /** * Track whether the selectors are out of order and need to be re-sorted; */ private dirty; constructor(); /** * @returns All possible pseudo states for this element and related elements. */ pseudoStates(): PseudoStates; /** * @returns map of pseudo elements with styles to the computed style. The * name of the pseudo-element should not include the preceding colon(s). */ styledPseudoElements(): StyledPseudoElements; pseudoElementStyle(_name: string): ElementStyle; add(selector: string, rule: postcss.Rule, specificity: specificity.Specificity): void; private clean; compute(): ComputedStyle; debug(): string; } export declare type FullCascade = Map; export declare class Cascade { stylesheet: string; html: parse5.DefaultTreeDocument; constructor(stylesheet: string, html: parse5.DefaultTreeDocument); perform(): Promise; } //# sourceMappingURL=Cascade.d.ts.map