/**
 * Project Structure Detector
 *
 * Automatically detects project management structure from:
 * - Existing increments and work items
 * - Source system metadata (Jira, ADO, GitHub)
 * - Environment variables
 *
 * Supports various hierarchies:
 * - Jira: Epic → Story → Sub-task
 * - ADO: Epic → Feature → User Story → Task
 * - GitHub: Milestone → Issue (or flat Issues)
 * - Custom: Detected from patterns
 */
/**
 * Hierarchy levels:
 * - FLAT: No hierarchy (GitHub issues, flat ADO)
 * - SINGLE_PARENT: Milestone/Feature → Items
 * - TWO_LEVEL: Epic → Stories → Tasks
 * - THREE_LEVEL: Initiative → Epic → Feature → Stories
 */
export type HierarchyLevel = 'flat' | 'single_parent' | 'two_level' | 'three_level';
/**
 * Work item types vary by system
 */
export interface WorkItemTypes {
    topLevel?: string;
    parentLevel?: string;
    itemLevel: string;
    subItemLevel?: string;
}
/**
 * Grouping strategy for RFC organization
 */
export type GroupingStrategy = 'by_type' | 'by_parent' | 'by_priority' | 'by_label' | 'flat' | 'custom';
/**
 * Project structure configuration
 */
export interface ProjectStructure {
    source: 'jira' | 'ado' | 'github' | 'manual';
    hierarchyLevel: HierarchyLevel;
    workItemTypes: WorkItemTypes;
    groupingStrategy: GroupingStrategy;
    customGrouping?: (items: any[]) => Record<string, any[]>;
    epicFieldName?: string;
    featureFieldName?: string;
    milestoneFieldName?: string;
}
/**
 * Detected structure from analysis
 */
export interface DetectedStructure {
    structure: ProjectStructure;
    confidence: number;
    evidence: string[];
    sampleIncrements: string[];
}
export declare class ProjectStructureDetector {
    private projectRoot;
    constructor(projectRoot?: string);
    /**
     * Detect project structure from existing increments
     */
    detectStructure(): Promise<ProjectStructure>;
    /**
     * Analyze increments to detect structure
     */
    private analyzeIncrements;
    /**
     * Infer work item types from source and hierarchy
     */
    private inferWorkItemTypes;
    /**
     * Infer grouping strategy from source and hierarchy
     */
    private inferGroupingStrategy;
    /**
     * Get default structure when no increments exist
     */
    private getDefaultStructure;
    /**
     * Get structure summary for display
     */
    getStructureSummary(structure: ProjectStructure): string;
    private getHierarchyDescription;
    private getGroupingDescription;
}
//# sourceMappingURL=project-structure-detector.d.ts.map