/**
 * Jira Hierarchy Mapper
 *
 * Maps SpecWeave universal hierarchy to Jira issue types
 *
 * Supports:
 * - Jira Agile: Initiative → Epic → Story → Sub-task
 * - Jira CMMI: Epic → Feature → Requirement → Task
 * - Jira SAFe: Strategic Theme → Capability → User Story → Task
 *
 * @module integrations/jira/jira-hierarchy-mapper
 */
import { JiraClient } from './jira-client.js';
/**
 * Jira hierarchy mapping for different project types
 */
export interface JiraHierarchyMapping {
    epic: string;
    feature: string;
    userStory: string;
    task: string;
}
/**
 * SpecWeave Epic metadata
 */
export interface SpecWeaveEpic {
    id: string;
    title: string;
    description: string;
    status: string;
    priority: string;
}
/**
 * SpecWeave Feature metadata
 */
export interface SpecWeaveFeature {
    id: string;
    title: string;
    description: string;
    status: string;
    priority: string;
    epic?: string;
}
/**
 * SpecWeave User Story metadata
 */
export interface SpecWeaveUserStory {
    id: string;
    title: string;
    description: string;
    acceptanceCriteria: string[];
    status: string;
    priority: string;
    feature?: string;
}
/**
 * Maps SpecWeave universal hierarchy to Jira issue types
 */
export declare class JiraHierarchyMapper {
    private jiraClient;
    constructor(jiraClient: JiraClient);
    /**
     * Detect Jira project type based on available issue types
     *
     * Currently returns default Agile hierarchy.
     * TODO: Implement getIssueTypes in JiraClient for dynamic detection.
     *
     * @param projectKey - Jira project key
     * @returns Detected hierarchy mapping
     */
    detectProjectType(projectKey: string): Promise<JiraHierarchyMapping>;
    /**
     * Map SpecWeave work item to Jira issue type
     *
     * @param level - SpecWeave hierarchy level
     * @param mapping - Jira hierarchy mapping
     * @returns Jira issue type name
     */
    mapToJiraIssueType(level: 'epic' | 'feature' | 'userStory' | 'task', mapping: JiraHierarchyMapping): string;
    /**
     * Create SpecWeave Epic in Jira
     *
     * @param epic - SpecWeave epic metadata
     * @param projectKey - Jira project key
     * @returns Created Jira issue key
     */
    syncEpicToJira(epic: SpecWeaveEpic, projectKey: string): Promise<string>;
    /**
     * Create SpecWeave Feature in Jira
     *
     * @param feature - SpecWeave feature metadata
     * @param projectKey - Jira project key
     * @param epicKey - Parent epic key (optional)
     * @returns Created Jira issue key
     */
    syncFeatureToJira(feature: SpecWeaveFeature, projectKey: string, epicKey?: string): Promise<string>;
    /**
     * Create SpecWeave User Story in Jira
     *
     * @param userStory - SpecWeave user story metadata
     * @param projectKey - Jira project key
     * @param featureKey - Parent feature key (optional)
     * @returns Created Jira issue key
     */
    syncUserStoryToJira(userStory: SpecWeaveUserStory, projectKey: string, featureKey?: string): Promise<string>;
}
//# sourceMappingURL=jira-hierarchy-mapper.d.ts.map