///
/**
* @module resolve-cascade
**/
import * as assert from "assert";
import * as parse5 from "parse5";
import { ComputedStyle, ElementStyle, FullCascade } from "./index";
export interface AssertionResult {
expectedFullCascade: FullCascade;
expectedDoc: parse5.Document;
expectedCss: string;
actualFullCascade: FullCascade;
actualDoc: parse5.Document;
actualCss: string;
}
export declare class MarkupMismatchError extends assert.AssertionError {
constructor(actual: string, expected: string, message?: string);
}
export interface CascadeInformation {
expectedHtml: string;
actualHtml: string;
expectedElement: string;
actualElement: string;
expectedCss: string;
actualCss: string;
expectedCascade: ElementStyle | undefined;
actualCascade: ElementStyle | undefined;
expectedStyles: ComputedStyle | undefined;
actualStyles: ComputedStyle | undefined;
}
export declare class ElementStyleMismatch extends assert.AssertionError implements CascadeInformation {
expectedHtml: string;
actualHtml: string;
expectedElement: string;
actualElement: string;
expectedCss: string;
actualCss: string;
expectedCascade: ElementStyle;
actualCascade: ElementStyle;
expectedStyles: ComputedStyle | undefined;
actualStyles: ComputedStyle | undefined;
constructor(details: CascadeInformation, message?: string);
}
/**
* This function makes sure two styles are functionally equivalent.
* for the given css property.
*
* Currently this assures that initial values which can be different
* but functionally equivalent, are treated as the same value.
*
* it also does a case insensitive value check and some whitespace
* normalization.
*
* @param property The css property
* @param actualValue a css value for the property
* @param expectedValue a css value for the property
*/
export declare function assertSameStyle(property: string, actualValue: string, expectedValue: string): void;
export declare function assertSameCascade(expectedCss: string, actualCss: string, expectedHtml: string, actualHtml: string): Promise;
//# sourceMappingURL=assertCascade.d.ts.map