import type { Artifact, DesignSessionState } from "./types/index.js";
export interface RoadmapRequest {
    sessionState: DesignSessionState;
    title: string;
    timeframe?: string;
    includeRisks?: boolean;
    includeDependencies?: boolean;
    includeResources?: boolean;
    granularity?: "high" | "medium" | "low";
    format?: "markdown" | "mermaid" | "json";
    metadata?: Record<string, unknown>;
}
export interface RoadmapResult {
    artifact: Artifact;
    content: string;
    milestones: Milestone[];
    timeline: TimelineEvent[];
    risks: Risk[];
    dependencies: Dependency[];
    recommendations: string[];
}
export interface Milestone {
    id: string;
    name: string;
    description: string;
    startDate: string;
    endDate: string;
    deliverables: string[];
    successCriteria: string[];
    dependencies: string[];
    effort: "low" | "medium" | "high";
    risk: "low" | "medium" | "high";
}
export interface TimelineEvent {
    date: string;
    type: "milestone" | "dependency" | "risk" | "review";
    title: string;
    description: string;
    impact: "low" | "medium" | "high";
}
export interface Risk {
    id: string;
    name: string;
    description: string;
    probability: "low" | "medium" | "high";
    impact: "low" | "medium" | "high";
    mitigation: string;
    contingency: string;
    owner: string;
}
export interface Dependency {
    id: string;
    name: string;
    type: "internal" | "external" | "technical" | "business";
    description: string;
    requiredBy: string;
    status: "pending" | "in-progress" | "completed" | "blocked";
    criticality: "low" | "medium" | "high";
}
export interface RoadmapData {
    roadmapNumber: number;
    title: string;
    milestones: Milestone[];
    timeline: TimelineEvent[];
    risks: Risk[];
    dependencies: Dependency[];
    recommendations: string[];
    sessionState: DesignSessionState;
    metadata: Record<string, unknown>;
}
declare class RoadmapGeneratorImpl {
    private roadmapCounter;
    initialize(): Promise<void>;
    generateRoadmap(request: RoadmapRequest | (Omit<Partial<RoadmapRequest>, "sessionState"> & {
        sessionState: DesignSessionState;
    })): Promise<RoadmapResult>;
    private internalGenerateMilestones;
    private generateImplementationMilestones;
    private internalGenerateTimeline;
    private generateRisks;
    private generateDependencies;
    private generateMarkdownRoadmap;
    private generateMermaidRoadmap;
    private generateJSONRoadmap;
    private parseTimeframe;
    private calculateEffort;
    private calculateRisk;
    private getImplementationDeliverables;
    private getImplementationCriteria;
    private generateReviewDates;
    private generateRoadmapRecommendations;
}
export declare const roadmapGenerator: RoadmapGeneratorImpl;
export declare const IMPLEMENTATION_STATUS: "IMPLEMENTED";
export {};
//# sourceMappingURL=roadmap-generator.d.ts.map