import { Cvss4P0MacroVector } from "./Cvss4P0MacroVector";
import { EQ } from "./EQ";
export interface EqOperations {
    getHighestSeverityVectors(thisMacroVector: Cvss4P0MacroVector): string[];
    getRelevantAttributes(): string[];
    deriveNextLowerMacro(thisMacroVector: Cvss4P0MacroVector): Cvss4P0MacroVector[];
    lookupScoresForNextLowerMacro(nextLowerMacro: Cvss4P0MacroVector[]): number;
    lookupMacroVectorDepth(thisMacroVector: Cvss4P0MacroVector): number;
}
export declare const getEqImplementations: () => EqOperations[];
export declare abstract class EqOperations1245 implements EqOperations {
    deriveNextLowerMacro(thisMacroVector: Cvss4P0MacroVector): Cvss4P0MacroVector[];
    lookupScoresForNextLowerMacro(nextLowerMacro: Cvss4P0MacroVector[]): number;
    getHighestSeverityVectors(thisMacroVector: Cvss4P0MacroVector): string[];
    lookupMacroVectorDepth(thisMacroVector: Cvss4P0MacroVector): number;
    abstract getRelevantAttributes(): string[];
    abstract getEqNumber(): number;
    abstract getEq(thisMacroVector: Cvss4P0MacroVector): EQ;
}
export declare class EqOperations1 extends EqOperations1245 {
    static readonly instance: EqOperations1;
    getEq(thisMacroVector: Cvss4P0MacroVector): EQ;
    getRelevantAttributes(): string[];
    getEqNumber(): number;
    static getInstance(): EqOperations1;
}
export declare class EqOperations2 extends EqOperations1245 {
    static readonly instance: EqOperations2;
    getEq(thisMacroVector: Cvss4P0MacroVector): EQ;
    getRelevantAttributes(): string[];
    getEqNumber(): number;
    static getInstance(): EqOperations2;
}
export declare class EqOperations4 extends EqOperations1245 {
    static readonly instance: EqOperations4;
    getEq(thisMacroVector: Cvss4P0MacroVector): EQ;
    getRelevantAttributes(): string[];
    getEqNumber(): number;
    static getInstance(): EqOperations4;
}
export declare class EqOperations5 extends EqOperations1245 {
    static readonly instance: EqOperations5;
    getEq(thisMacroVector: Cvss4P0MacroVector): EQ;
    getRelevantAttributes(): string[];
    getEqNumber(): number;
    static getInstance(): EqOperations5;
}
export declare class EqOperations36 implements EqOperations {
    private static readonly instance;
    static getInstance(): EqOperations36;
    getHighestSeverityVectors(thisMacroVector: Cvss4P0MacroVector): string[];
    getRelevantAttributes(): string[];
    deriveNextLowerMacro(thisMacroVector: Cvss4P0MacroVector): Cvss4P0MacroVector[];
    lookupScoresForNextLowerMacro(nextLowerMacros: Cvss4P0MacroVector[]): number;
    lookupMacroVectorDepth(thisMacroVector: Cvss4P0MacroVector): number;
}
