export interface BugzillaBug { id: number; alias: string[]; summary: string; status: string; resolution: string; priority: string; severity: string; product: string; component: string; description?: string; creation_time: string; last_change_time: string; depends_on: number[]; blocks: number[]; url: string; see_also: string[]; assigned_to: string; creator: string; is_open: boolean; } export interface BugzillaComment { id: number; bug_id: number; text: string; creator: string; time: string; count: number; is_private: boolean; tags: string[]; } export interface BugzillaSearchParams { product?: string; component?: string; status?: string | string[]; id?: number | number[]; alias?: string | string[]; url?: string; summary?: string; limit?: number; offset?: number; last_change_time?: string; } export interface BugzillaCreatePayload { product: string; component: string; summary: string; version?: string; url?: string; description?: string; status?: string; priority?: string; severity?: string; op_sys?: string; rep_platform?: string; depends_on?: number[]; blocks?: number[]; see_also?: string[]; } export interface BugzillaUpdatePayload { summary?: string; status?: string; resolution?: string; priority?: string; severity?: string; depends_on?: { set: number[]; }; blocks?: { set: number[]; }; see_also?: { add?: string[]; remove?: string[]; }; } export interface BugzillaSearchResponse { bugs: BugzillaBug[]; } export interface BugzillaCreateResponse { id: number; } export interface BugzillaUpdateResponse { bugs: Array<{ id: number; changes: Record; }>; } export interface BugzillaCommentsResponse { bugs: Record; } export interface BugzillaComponent { id: number; name: string; description: string; default_assigned_to: string; is_active: boolean; } export interface BugzillaProduct { id: number; name: string; description: string; is_active: boolean; components: BugzillaComponent[]; } export interface BugzillaProductResponse { products: BugzillaProduct[]; } export interface BugzillaCreateProductPayload { name: string; description: string; version: string; is_open?: boolean; } export interface BugzillaCreateComponentPayload { product: string; name: string; description: string; default_assignee: string; }