export declare enum BaseMetric {
    ATTACK_VECTOR = "AV",
    ATTACK_COMPLEXITY = "AC",
    PRIVILEGES_REQUIRED = "PR",
    USER_INTERACTION = "UI",
    SCOPE = "S",
    CONFIDENTIALITY = "C",
    INTEGRITY = "I",
    AVAILABILITY = "A"
}
export declare enum TemporalMetric {
    EXPLOIT_CODE_MATURITY = "E",
    REMEDIATION_LEVEL = "RL",
    REPORT_CONFIDENCE = "RC"
}
export declare enum EnvironmentalMetric {
    CONFIDENTIALITY_REQUIREMENT = "CR",
    INTEGRITY_REQUIREMENT = "IR",
    AVAILABILITY_REQUIREMENT = "AR",
    MODIFIED_ATTACK_VECTOR = "MAV",
    MODIFIED_ATTACK_COMPLEXITY = "MAC",
    MODIFIED_PRIVILEGES_REQUIRED = "MPR",
    MODIFIED_USER_INTERACTION = "MUI",
    MODIFIED_SCOPE = "MS",
    MODIFIED_CONFIDENTIALITY = "MC",
    MODIFIED_INTEGRITY = "MI",
    MODIFIED_AVAILABILITY = "MA"
}
export declare type Metric = BaseMetric | TemporalMetric | EnvironmentalMetric;
export declare type Metrics = ReadonlyArray<Metric>;
export declare type BaseMetricValue = 'A' | 'C' | 'H' | 'L' | 'N' | 'P' | 'R' | 'U';
export declare type TemporalMetricValue = 'X' | 'F' | 'H' | 'O' | 'T' | 'W' | 'U' | 'P' | 'C' | 'R';
export declare type EnvironmentalMetricValue = BaseMetricValue | 'M' | 'X';
export declare type MetricValue = BaseMetricValue | TemporalMetricValue | EnvironmentalMetricValue;
export declare type MetricValues<M extends Metric = Metric, V extends MetricValue = MetricValue> = Record<M, V[]>;
export declare const baseMetrics: ReadonlyArray<BaseMetric>;
export declare const temporalMetrics: ReadonlyArray<TemporalMetric>;
export declare const environmentalMetrics: ReadonlyArray<EnvironmentalMetric>;
export declare const baseMetricValues: MetricValues<BaseMetric, BaseMetricValue>;
export declare const temporalMetricValues: MetricValues<TemporalMetric, TemporalMetricValue>;
export declare const environmentalMetricValues: MetricValues<EnvironmentalMetric, EnvironmentalMetricValue>;
