import type { YoutrackActivityItem, YoutrackAttachment, YoutrackIssue, YoutrackIssueComment, YoutrackIssueDetails, YoutrackWorkItem, MappedYoutrackAttachment } from "../types.js"; /** * Convert timestamp in milliseconds to ISO date string (YYYY-MM-DD) */ export declare function timestampToIsoDate(timestamp: number | null | undefined): string | undefined; /** * Convert timestamp in milliseconds to ISO datetime string (YYYY-MM-DDTHH:mm:ss.sssZ) */ export declare function timestampToIsoDateTime(timestamp: number | null | undefined): string | undefined; /** * Generate comment URL for direct navigation */ export declare function generateCommentUrl(baseUrl: string, issueId: string, commentId: string): string; /** * Mapped issue with ISO date strings * Issue type doesn't have date fields, so it's the same as YoutrackIssue */ export type MappedYoutrackIssue = YoutrackIssue; /** * Mapped issue details with ISO date strings */ export interface MappedYoutrackIssueDetails extends Omit { created?: string | undefined; updated?: string | undefined; resolved?: string | undefined; } /** * Mapped work item with ISO date strings */ export interface MappedYoutrackWorkItem extends Omit { date: string; } /** * Mapped comment with ISO date strings */ export interface MappedYoutrackIssueComment extends Omit { created: string; updated?: string | undefined; commentUrl?: string | undefined; } /** * Map YoutrackIssue to MappedYoutrackIssue */ export declare function mapIssue(issue: YoutrackIssue): MappedYoutrackIssue; /** * Map YoutrackIssueDetails to MappedYoutrackIssueDetails */ export declare function mapIssueDetails(issue: YoutrackIssueDetails): MappedYoutrackIssueDetails; /** * Map YoutrackIssue to brief version (without description fields) */ export declare function mapIssueBrief(issue: YoutrackIssue): MappedYoutrackIssue; /** * Map YoutrackWorkItem to MappedYoutrackWorkItem */ export declare function mapWorkItem(item: YoutrackWorkItem): MappedYoutrackWorkItem; /** * Map YoutrackIssueComment to MappedYoutrackIssueComment */ export declare function mapComment(comment: YoutrackIssueComment, baseUrl?: string, issueId?: string): MappedYoutrackIssueComment; /** * Map array of issues */ export declare function mapIssues(issues: YoutrackIssue[]): MappedYoutrackIssue[]; /** * Map array of work items */ export declare function mapWorkItems(items: YoutrackWorkItem[]): MappedYoutrackWorkItem[]; /** * Map array of comments */ export declare function mapComments(comments: YoutrackIssueComment[], baseUrl?: string, issueId?: string): MappedYoutrackIssueComment[]; /** * Format file size in bytes to human-readable format */ export declare function formatFileSize(bytes: number): string; /** * Map YoutrackAttachment to MappedYoutrackAttachment */ export declare function mapAttachment(attachment: YoutrackAttachment): MappedYoutrackAttachment; /** * Map array of attachments */ export declare function mapAttachments(attachments: YoutrackAttachment[]): MappedYoutrackAttachment[]; /** * Mapped activity item with ISO datetime strings */ export interface MappedYoutrackActivityItem { id: string; timestamp: string; author?: { id: string; login: string; name?: string | undefined; } | undefined; category?: { id: string; } | undefined; target?: { text?: string | undefined; } | undefined; added?: Array<{ name?: string | undefined; id?: string | undefined; login?: string | undefined; }> | undefined; removed?: Array<{ name?: string | undefined; id?: string | undefined; login?: string | undefined; }> | undefined; $type?: string | undefined; } /** * Map YoutrackActivityItem to MappedYoutrackActivityItem */ export declare function mapActivityItem(activity: YoutrackActivityItem): MappedYoutrackActivityItem; /** * Map array of activity items */ export declare function mapActivityItems(activities: YoutrackActivityItem[]): MappedYoutrackActivityItem[]; //# sourceMappingURL=mappers.d.ts.map