/** * CSV to F5 JSON Converter * Converts Jira-format CSV to F5 Issues JSON for sync tracking * * @module @f5/cli/commands/import/converters/csv-to-f5 * @version 1.0.0 */ import type { F5Issue, F5IssueType, F5Priority, F5Status } from '../../../types/integrations.js'; export interface CsvToF5Options { inputPath: string; outputPath: string; sourceName?: string; defaultStatus?: F5Status; } export interface CsvToF5Result { issues: F5Issue[]; count: number; skipped: number; warnings: string[]; outputPath: string; } export interface F5IssuesFile { version: string; lastUpdated: string; source: string; issueCount: number; issues: SerializedF5Issue[]; } export interface SerializedF5Issue { id: string; externalId?: string; summary: string; description?: string; issueType: F5IssueType; priority: F5Priority; status: F5Status; assignee?: string; reporter?: string; labels?: string[]; components?: string[]; dueDate?: string; createdAt?: string; updatedAt?: string; customFields?: Record; syncMeta?: { source: 'jira' | 'redmine' | 'excel' | 'local'; sourceId: string; lastSyncAt: string; hash: string; version: number; }; } /** * Convert Jira CSV to F5 Issues JSON format */ export declare function convertCsvToF5(options: CsvToF5Options): Promise; export declare class CsvToF5Converter { private options; constructor(inputPath: string, outputPath?: string, sourceName?: string); convert(): Promise; setDefaultStatus(status: F5Status): this; setSource(name: string): this; } export default CsvToF5Converter;