import * as React from 'react';
export type AttackStepType = 'initial_access' | 'execution' | 'persistence' | 'privilege_escalation' | 'defense_evasion' | 'credential_access' | 'discovery' | 'lateral_movement' | 'collection' | 'exfiltration' | 'impact' | 'command_and_control';
export type AttackStepSeverity = 'critical' | 'high' | 'medium' | 'low';
export interface AttackStep {
    id: string;
    label: string;
    type: AttackStepType;
    description?: string;
    severity?: AttackStepSeverity;
    mitigated?: boolean;
    techniques?: string[];
}
declare const stepVariants: (props?: ({
    severity?: "high" | "low" | "critical" | "medium" | null | undefined;
    mitigated?: boolean | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
export interface AttackPathStepProps extends Omit<React.ComponentProps<'div'>, 'onClick'> {
    step: AttackStep;
    showTechniques?: boolean;
    onClick?: ((step: AttackStep) => void) | undefined;
}
declare function AttackPathStep({ className, step, showTechniques, onClick, ...props }: AttackPathStepProps): import("react/jsx-runtime").JSX.Element;
export interface AttackPathProps extends React.ComponentProps<'div'> {
    steps: AttackStep[];
    /** Optional title above the path. */
    title?: string;
    /** Show MITRE technique IDs in the tooltip. */
    showTechniques?: boolean;
    /** Callback when a step node is clicked. */
    onStepClick?: (step: AttackStep) => void;
}
declare function AttackPath({ className, steps, title, showTechniques, onStepClick, ...props }: AttackPathProps): import("react/jsx-runtime").JSX.Element;
export { AttackPath, AttackPathStep, stepVariants };
//# sourceMappingURL=attack-path.d.ts.map