import { Diagnostic } from "@siteimprove/alfa-act"; import { Array } from "@siteimprove/alfa-array"; import type { Device } from "@siteimprove/alfa-device"; import type { Element, Node } from "@siteimprove/alfa-dom"; import type { Equatable } from "@siteimprove/alfa-equatable"; import type { Hash, Hashable } from "@siteimprove/alfa-hash"; import type { Serializable } from "@siteimprove/alfa-json"; import { Map } from "@siteimprove/alfa-map"; import type { Result } from "@siteimprove/alfa-result"; import { Context } from "@siteimprove/alfa-selector"; import { Sequence } from "@siteimprove/alfa-sequence"; import type { Longhands, Shorthands } from "@siteimprove/alfa-style"; import type * as json from "@siteimprove/alfa-json"; import type { Contrast } from "../common/diagnostic/contrast.ts"; type Name = Longhands.Name | Shorthands.Name; /** * @public */ export declare class ElementDistinguishable implements Equatable, Hashable, Serializable { static of(distinguishingProperties?: Iterable, style?: Iterable, pairings?: Iterable>): ElementDistinguishable; private readonly _distinguishingProperties; private readonly _style; private readonly _pairings; protected constructor(distinguishingProperties: ReadonlyArray, style: Map, pairings: ReadonlyArray>); get distinguishingProperties(): ReadonlyArray; get style(): Map; get pairings(): ReadonlyArray>; withDistinguishingProperties(distinguishingProperties: ReadonlyArray): ElementDistinguishable; withStyle(...styles: ReadonlyArray): ElementDistinguishable; withPairings(pairings: ReadonlyArray>): ElementDistinguishable; equals(value: ElementDistinguishable): boolean; equals(value: unknown): value is this; hash(hash: Hash): void; toJSON(): ElementDistinguishable.JSON; } /** * @public */ export declare namespace ElementDistinguishable { interface JSON { [key: string]: json.JSON; distinguishingProperties: Array; style: Map.JSON; pairings: Array>; } type Property = Name | "contrast"; function from(element: Element, device: Device, target: Element, context: Context | undefined, distinguishingProperties: Iterable, pairings: Iterable>): ElementDistinguishable; } /** * @public */ export declare class DistinguishingStyles extends Diagnostic { static of(message: string, defaultStyles?: Iterable>, hoverStyles?: Iterable>, focusStyles?: Iterable>): DistinguishingStyles; private readonly _defaultStyles; private readonly _hoverStyles; private readonly _focusStyles; protected constructor(message: string, defaultStyles: Sequence>, hoverStyles: Sequence>, focusStyles: Sequence>); get defaultStyles(): Iterable>; get hoverStyles(): Iterable>; get focusStyles(): Iterable>; equals(value: DistinguishingStyles): boolean; equals(value: unknown): value is this; toJSON(options?: Node.SerializationOptions): DistinguishingStyles.JSON; } /** * @public */ export declare namespace DistinguishingStyles { interface JSON extends Diagnostic.JSON { defaultStyle: Sequence.JSON>; hoverStyle: Sequence.JSON>; focusStyle: Sequence.JSON>; } function isDistinguishingStyles(value: Diagnostic): value is DistinguishingStyles; function isDistinguishingStyles(value: unknown): value is DistinguishingStyles; } export {}; //# sourceMappingURL=diagnostics.d.ts.map