export interface IJiraConfig { endpoint: string; user: string; token: string; } export interface IJiraUser { accountId: string; displayName?: string; } export interface ICreateIssueArgs { type: string; project: string; summary: string; description?: string; parent?: string; assign?: string; } export interface IListIssuesArgs { project?: string; jql?: string; mine?: boolean; limit?: number; } export interface IAssignIssueArgs { to: string; } export interface ITransitionIssueArgs { to: string; } export interface IChangeTypeArgs { to: string; } export interface IJiraClient { getCurrentUser(): Promise; createIssue(args: ICreateIssueArgs): Promise<{ key: string; url: string; summary: string; type: string; }>; listIssues(args: IListIssuesArgs): Promise<{ issues: Array>; total: number; }>; viewIssue(issueKey: string): Promise>; assignIssue(issueKey: string, args: IAssignIssueArgs): Promise<{ issue: string; assignee: string; }>; transitionIssue(issueKey: string, args: ITransitionIssueArgs): Promise<{ issue: string; from: string; to: string; }>; changeIssueType(issueKey: string, args: IChangeTypeArgs): Promise<{ key: string; url: string; previousType: string; newType: string; }>; } /** * Creates a Jira client instance. */ export declare function createJiraClient(config: IJiraConfig): IJiraClient; /** * Load Jira configuration from ~/.jira.d/ */ export declare function loadJiraConfig(): IJiraConfig; //# sourceMappingURL=JiraService.d.ts.map