import { Aspect } from "@atomist/sdm-pack-fingerprint";
/**
 * Details needed for the web-app to show the aspects
 */
export interface AspectReportDetails {
    /** Short name of the aspect as used in headlines etc */
    shortName?: string;
    /** Longish description of the aspect */
    description?: string;
    /** What is the aspect measuring: a version, a docker image tag */
    unit?: string;
    /** The url to the sunburst data to use when rendering the chart on the web-app */
    url?: string;
    /** Category to place the aspect in */
    category?: string;
    /** Does this aspect support setting targets etc */
    manage?: boolean;
}
/**
 * Extension to core Aspect to have additional metadata
 */
export interface AspectWithReportDetails<F = any> extends Aspect<F> {
    details?: AspectReportDetails;
}
/**
 * Add report details to the provided Aspect
 */
export declare function enrich(aspect: Aspect, details: AspectReportDetails): AspectWithReportDetails;
/**
 * Test if Aspect is AspectWithReportDetails
 */
export declare function hasReportDetails(aspect: Aspect | AspectWithReportDetails): aspect is AspectWithReportDetails;
/**
 * Manages aspect metadata such as description, short names etc as used by the web-app
 */
export interface AspectReportDetailsRegistry {
    /**
     * Find the known AspectReportDetails for the provided aspect
     */
    reportDetailsOf(type: string | Aspect, workspaceId: string): Promise<AspectReportDetails | undefined>;
}
//# sourceMappingURL=AspectReportDetailsRegistry.d.ts.map