/**
 * jira-epic-creation.ts - Jira Epic Auto-Creation for Story 47-1
 *
 * This module provides functions to automatically create Jira epics
 * when SM setup detects an epic without a jira field in sprint YAML.
 *
 * Acceptance Criteria:
 * 1. SM setup detects new epic without jira field
 * 2. Automatically creates Jira epic with matching title/description
 * 3. Updates sprint YAML with new Jira key
 * 4. Epic number derived from Jira ticket number
 *
 * NOTE: This is a stub implementation. Dev will fill in the actual logic.
 */
export interface CreateEpicParams {
    title: string;
    description?: string;
    epicNumber?: number;
    labels?: string[];
    dryRun?: boolean;
    _mockResponse?: {
        key: string;
        url?: string;
    };
    _mockError?: string;
}
export interface CreateEpicResult {
    success: boolean;
    jiraKey?: string;
    url?: string;
    formattedTitle?: string;
    labels?: string[];
    error?: string;
    dryRun?: boolean;
}
export interface EnsureEpicParams {
    epic: {
        id: string;
        title: string;
        description?: string;
        jira?: string | null;
    };
    _mockResponse?: {
        key: string;
    };
}
export interface EnsureEpicResult {
    success: boolean;
    jiraKey?: string;
    created: boolean;
    formattedTitle?: string;
    description?: string;
    error?: string;
}
export interface UpdateYamlParams {
    sprintPath: string;
    epicId: string;
    jiraKey: string;
    force?: boolean;
}
export interface UpdateYamlResult {
    success: boolean;
    error?: string;
}
export interface CheckEpicJiraParams {
    storyId: string;
    sprintPath: string;
}
export interface CheckEpicJiraResult {
    epicNeedsJira: boolean;
    epicId?: string;
    epicTitle?: string;
}
/**
 * Create an epic in Jira with the given title and description.
 *
 * @param params - Epic creation parameters
 * @returns Result with Jira key on success
 */
export declare function createEpicInJira(params: CreateEpicParams): Promise<CreateEpicResult>;
/**
 * Ensure an epic has a Jira key, creating one if missing.
 *
 * @param params - Epic to check/create
 * @returns Result with Jira key (existing or newly created)
 */
export declare function ensureEpicHasJiraKey(params: EnsureEpicParams): Promise<EnsureEpicResult>;
/**
 * Extract the numeric portion from a Jira key.
 *
 * @param jiraKey - Jira key like "MSSCI-11796"
 * @returns Numeric portion (11796) or null if invalid
 */
export declare function extractEpicNumberFromJiraKey(jiraKey: string): number | null;
/**
 * Update sprint YAML to add/update the jira field for an epic.
 *
 * @param params - Update parameters
 * @returns Success/failure result
 */
export declare function updateSprintYamlWithJiraKey(params: UpdateYamlParams): Promise<UpdateYamlResult>;
/**
 * Check if an epic needs a Jira key during story setup.
 *
 * @param params - Story and sprint path
 * @returns Whether epic needs Jira key and epic details
 */
export declare function checkEpicJiraRequired(params: CheckEpicJiraParams): Promise<CheckEpicJiraResult>;
//# sourceMappingURL=jira-epic-creation.d.ts.map