/** * GitHub Issues API Type Definitions */ export interface ListIssuesParams { owner: string; repo: string; state?: 'open' | 'closed' | 'all'; sort?: 'created' | 'updated' | 'comments'; direction?: 'asc' | 'desc'; since?: string; page?: number; per_page?: number; } export interface GetIssueParams { owner: string; repo: string; issue_number: number; } export interface CreateIssueParams { owner: string; repo: string; title: string; body?: string; assignees?: string[]; labels?: string[]; milestone?: number; } export interface UpdateIssueParams { owner: string; repo: string; issue_number: number; title?: string; body?: string; state?: 'open' | 'closed'; assignees?: string[]; labels?: string[]; milestone?: number; } export interface ListIssueCommentsParams { owner: string; repo: string; issue_number: number; page?: number; per_page?: number; } export interface CreateIssueCommentParams { owner: string; repo: string; issue_number: number; body: string; } export interface Issue { id: number; number: number; title: string; state: string; locked: boolean; body?: string; user: { login: string; id: number; avatar_url: string; }; labels: Array<{ id: number; name: string; color: string; }>; assignees?: Array<{ login: string; id: number; avatar_url: string; }>; comments: number; created_at: string; updated_at: string; closed_at?: string; html_url: string; } export interface IssueComment { id: number; body: string; user: { login: string; id: number; avatar_url: string; }; created_at: string; updated_at: string; html_url: string; }