import { Aspect } from "@atomist/sdm-pack-fingerprints";
import { FingerprintUsage } from "../analysis/offline/persist/ProjectAnalysisResultStore";
export interface ReportDetails {
    name?: string;
    shortName?: string;
    type?: string;
    description?: string;
    unit?: string;
    url?: string;
    manage?: boolean;
}
/**
 * Store a categories for a given Aspects
 */
export declare function registerCategories(aspect: Pick<Aspect<any>, "name">, ...categories: string[]): void;
/**
 * Store a details for a given Aspects
 */
export declare function registerReportDetails(aspect: Aspect<any>, details?: ReportDetails): void;
/**
 * Retrieve categories or undefined for a given Aspect
 */
export declare function getCategories(aspect: Pick<Aspect<any>, "name">): string[] | undefined;
export interface AspectReport {
    category: string;
    count: number;
    aspects: ReportDetails[];
}
export declare function getAspectReports(fus: FingerprintUsage[], workspaceId: string): AspectReport[];
//# sourceMappingURL=categories.d.ts.map