/** * F5 CLI - Jira CSV Exporter * Export requirements to Jira-compatible CSV format * * @module @f5/cli/core/jira-csv-exporter * @version 1.0.0 */ import type { Requirement } from './excel-processor.js'; export interface JiraFieldMapping { summary: string; description: string; issueType: string; priority: string; labels: string[]; component: string; assignee?: string; dueDate?: string; customFields?: Record; } export interface JiraCsvOptions { projectKey: string; defaultIssueType?: string; includeHeaders?: boolean; delimiter?: string; mapping?: Partial; maxSummaryLength?: number; } export interface JiraCsvResult { csv: string; rowCount: number; warnings: string[]; fieldMappings: JiraFieldMapping[]; } export declare class JiraCsvExporter { private options; private warnings; constructor(options: JiraCsvOptions); /** * Export requirements to Jira CSV format */ export(requirements: Requirement[]): JiraCsvResult; /** * Map a requirement to Jira fields */ private mapRequirementToJira; /** * Extract summary from description (first line, max length) */ private extractSummary; /** * Format full description for Jira */ private formatDescription; /** * Detect issue type from requirement description */ private detectIssueType; /** * Map F5 priority to Jira priority */ private mapPriority; /** * Escape CSV field (handle commas, quotes, newlines) */ private escapeField; /** * Create CSV row from field mapping */ private createCsvRow; /** * Get CSV headers */ private getHeaders; /** * Save CSV to file */ saveToFile(result: JiraCsvResult, outputPath: string): Promise; } /** * Quick export function */ export declare function exportToJiraCsv(requirements: Requirement[], options: JiraCsvOptions): JiraCsvResult; /** * Export and save to file */ export declare function exportToJiraCsvFile(requirements: Requirement[], options: JiraCsvOptions, outputPath: string): Promise<{ result: JiraCsvResult; filePath: string; }>; export default JiraCsvExporter;