import type { ToolDefinition } from "../lib/types.js";
export interface GraphNode extends Record<string, unknown> {
    "@id"?: string;
    "@type"?: string | string[];
    label?: string;
    title?: string;
    description?: string;
}
export interface GraphRef {
    iri: string;
    label: string;
}
export interface GraphMatch {
    node: GraphNode;
    iri: string;
    label: string;
    score: number;
    matchedBy: string;
}
export interface SourceLink {
    iri: string;
    label: string;
    sourceType: "kosha_guide" | "law_article" | "graph_node";
    sourceUrl?: string;
    guideNo?: string;
    articleNumber?: string;
    legislationIdentifier?: string;
    legalWeight: "mandatory" | "recommended" | "reference";
}
export interface ControlMeasure {
    iri: string;
    label: string;
    description?: string;
    ericLevel?: number;
    ericLevelLabel: string;
    category?: string;
    controlSpecificity?: string;
    appliesToActivity: string[];
    chain: {
        fromHazard: GraphRef;
        relation: "mitigatedBy";
        toControl: GraphRef;
    };
    sourceRefs: string[];
}
export declare function buildControlMeasuresForHazard(hazardNode: GraphNode): ControlMeasure[];
export declare function findHazard(input: {
    hazardId?: string;
    hazardLabel?: string;
}): GraphMatch | null;
export declare function findActivity(input: {
    activityId?: string;
    activityLabel?: string;
}): GraphMatch | null;
export declare function getGraphNode(iri: string): GraphNode | undefined;
export declare function listGraphNodesByType(typeName: string): GraphNode[];
export declare function resolveSourceLinks(...nodes: GraphNode[]): SourceLink[];
export declare function toStringArray(value: unknown): string[];
export declare function getDisplayLabel(node: GraphNode | undefined): string;
export declare function getNodeId(node: GraphNode | undefined): string | undefined;
export declare function toGraphRef(node: GraphNode): GraphRef;
export declare function formatEricLevel(level: number | undefined): string;
export declare function isPpeControl(nodeOrMeasure: GraphNode | ControlMeasure): boolean;
export declare function readString(value: unknown): string | undefined;
export declare function readNumber(value: unknown): number | undefined;
export declare const getMeasuresByRiskTool: ToolDefinition;
//# sourceMappingURL=get-measures-by-risk.d.ts.map