import { A11yRule } from "./rule";
export interface A11yReference {
    name: string;
    version: string;
    rules: A11yRule[];
    url: string;
    /**
     * Build complete coverage
     */
    coverage(): A11yReferenceCoverage;
    /**
     * Returns online rule url related to a ruleId
     * @param ruleId
     */
    getRuleUrl(ruleId: string): string;
}
export declare enum A11yReferenceEnum {
    RGAA = "RGAA",
    WCAG_WEB = "WCAG-WEB",
    WCAG_ANDROID = "WCAG-ANDROID",
    WCAG_IOS = "WCAG-IOS"
}
export declare class Comments {
    info?: string;
    warning?: string;
    danger?: string;
}
export declare abstract class Coverage {
    id: string;
    name?: string;
    auto: number;
    partial: number;
    wontBeImplemented: number;
    manual: number;
    inProgress: number;
    testsCount: number;
    comments?: Comments;
    autoPercentage(): number;
}
export declare class A11yReferenceCoverage {
    name: string;
    topics: A11yReferenceTopicCoverage[];
    constructor(name: string);
}
export declare class A11yReferenceTopicCoverage extends Coverage {
    criterias: A11yReferenceCriteriaCoverage[];
    constructor(id: any, name: any);
}
export declare class A11yReferenceCriteriaCoverage extends Coverage {
    tests: A11yReferenceTestCoverage[];
    constructor(id: any, name: any);
}
export declare class A11yReferenceTestCoverage extends Coverage {
    constructor(id: any, name: any);
}
