import { Diagnostic, Rule } from "@siteimprove/alfa-act"; import type { Role } from "@siteimprove/alfa-aria"; import { Array } from "@siteimprove/alfa-array"; import { Element, Node } from "@siteimprove/alfa-dom"; import type { Hash } from "@siteimprove/alfa-hash"; import { Err, Ok } from "@siteimprove/alfa-result"; import type { Page } from "@siteimprove/alfa-web"; import * as aria from "@siteimprove/alfa-aria"; declare const _default: Rule.Atomic, {}, Element>; export default _default; /** * @public */ export declare class RoleAndRequiredAttributes extends Diagnostic { static of(message: string): Diagnostic; static of(message: string, role: Role.Name, requiredAttributes: ReadonlyArray, missingAttributes: ReadonlyArray): RoleAndRequiredAttributes; private readonly _role; private readonly _requiredAttributes; private readonly _missingAttributes; protected constructor(message: string, role: Role.Name, requiredAttributes: ReadonlyArray, missingAttributes: ReadonlyArray); get role(): Role.Name; get requiredAttributes(): ReadonlyArray; get missingAttributes(): ReadonlyArray; equals(value: RoleAndRequiredAttributes): boolean; equals(value: unknown): value is this; hash(hash: Hash): void; toJSON(options?: Node.SerializationOptions): RoleAndRequiredAttributes.JSON; } /** * @public */ export declare namespace RoleAndRequiredAttributes { interface JSON extends Diagnostic.JSON { role: string; attributes: { required: Array; missing: Array; }; } function isRoleAndRequiredAttributes(value: Diagnostic): value is RoleAndRequiredAttributes; function isRoleAndRequiredAttributes(value: unknown): value is RoleAndRequiredAttributes; } /** * @public */ export declare namespace Outcomes { const HasAllStates: (role: Role.Name, required: ReadonlyArray, missing: ReadonlyArray) => Ok; const HasNotAllStates: (role: Role.Name, required: ReadonlyArray, missing: ReadonlyArray) => Err; const RuleError: Err; } //# sourceMappingURL=rule.d.ts.map