/**
 * RFC Generator V2 - Universal Flexible Structure Support
 *
 * Modern, multi-platform RFC generator that adapts to any project management structure:
 * - Jira: Epic → Story → Sub-task
 * - Azure DevOps: Feature → User Story → Task
 * - GitHub: Milestone → Issue (or flat issues)
 * - Custom: Any configurable hierarchy
 *
 * Key Features:
 * - Flexible work item types (any string: story, bug, issue, feature, user story, etc.)
 * - 6 grouping strategies: by_type, by_parent, by_priority, by_label, flat, custom
 * - Parent-child relationships (Epic, Feature, Milestone)
 * - Labels/tags support (GitHub-style)
 * - Auto-detection via ProjectStructureDetector
 * - Extensible metadata
 *
 * This is the official RFC generator (V1 deprecated).
 */
import { ProjectStructure } from '../project/project-structure-detector.js';
export type RFCSource = 'jira' | 'ado' | 'github' | 'manual';
/**
 * Flexible work item that can represent any type
 */
export interface FlexibleWorkItem {
    type: string;
    id: string;
    title: string;
    description?: string;
    priority?: string;
    source_key?: string;
    source_url?: string;
    parent?: {
        type: string;
        key: string;
        title: string;
        url?: string;
    };
    labels?: string[];
    metadata?: Record<string, any>;
}
export interface RFCMetadata {
    incrementId: string;
    title: string;
    status: 'draft' | 'review' | 'approved' | 'deprecated';
    source: RFCSource;
    created: string;
}
export interface RFCSourceMetadata {
    source_type: RFCSource;
    parent_type?: string;
    parent_key?: string;
    parent_url?: string;
    parent_title?: string;
    repository?: string;
    project?: string;
    board?: string;
}
export interface FlexibleRFCContent {
    metadata: RFCMetadata;
    sourceMetadata?: RFCSourceMetadata;
    summary: string;
    motivation: string;
    workItems: FlexibleWorkItem[];
    alternatives?: string;
    projectStructure?: ProjectStructure;
}
export declare class FlexibleRFCGenerator {
    private projectRoot;
    private structureDetector;
    constructor(projectRoot?: string);
    /**
     * Generate RFC document with flexible structure support
     */
    generateRFC(content: FlexibleRFCContent): Promise<string>;
    /**
     * Build RFC content with structure-aware formatting
     */
    private buildRFCContent;
    /**
     * Generate header with source-specific metadata
     */
    private generateHeader;
    /**
     * Generate Summary section
     */
    private generateSummary;
    /**
     * Generate Motivation section
     */
    private generateMotivation;
    /**
     * Generate Detailed Design with flexible grouping
     */
    private generateDetailedDesign;
    /**
     * Group work items according to project structure
     */
    private groupWorkItems;
    /**
     * Group by work item type (story, bug, task, issue, etc.)
     */
    private groupByType;
    /**
     * Group by parent (Epic, Feature, Milestone, etc.)
     */
    private groupByParent;
    /**
     * Group by priority
     */
    private groupByPriority;
    /**
     * Group by labels
     */
    private groupByLabel;
    /**
     * Generate Alternatives section
     */
    private generateAlternatives;
    /**
     * Generate Implementation Plan section
     */
    private generateImplementationPlan;
    /**
     * Generate RFC file name
     */
    private generateRFCFileName;
    /**
     * Get source label
     */
    private getSourceLabel;
    /**
     * Format group name for display
     */
    private formatGroupName;
    /**
     * Capitalize first letter
     */
    private capitalizeFirst;
    /**
     * Slugify string
     */
    private slugify;
    /**
     * Ensure directory exists
     */
    private ensureDir;
}
//# sourceMappingURL=rfc-generator-v2.d.ts.map