/** * @fractary/faber - GitHub Work Provider * * Work tracking via GitHub Issues using the gh CLI. */ import { WorkConfig, Issue, IssueCreateOptions, IssueUpdateOptions, IssueFilters, Comment, Label, Milestone, MilestoneCreateOptions, FaberContext } from '../../common/types'; import { WorkProvider } from '../types'; /** * GitHub Issues provider using gh CLI */ export declare class GitHubWorkProvider implements WorkProvider { readonly platform: "github"; private owner; private repo; private ghEnv; constructor(config: WorkConfig); private getRepoArg; /** Execute a gh command with configured token injected into the environment. */ private gh; createIssue(options: IssueCreateOptions): Promise; fetchIssue(issueId: string | number, repo?: string): Promise; updateIssue(issueId: string | number, options: IssueUpdateOptions): Promise; closeIssue(issueId: string | number): Promise; reopenIssue(issueId: string | number): Promise; searchIssues(query: string, filters?: IssueFilters): Promise; assignIssue(issueId: string | number, assignee: string): Promise; unassignIssue(issueId: string | number): Promise; createComment(issueId: string | number, body: string, faberContext?: FaberContext, repo?: string): Promise; listComments(issueId: string | number, options?: { limit?: number; since?: string; }): Promise; addLabels(issueId: string | number, labels: string[]): Promise; removeLabels(issueId: string | number, labels: string[]): Promise; setLabels(issueId: string | number, labels: string[]): Promise; listLabels(issueId?: string | number): Promise; createMilestone(options: MilestoneCreateOptions): Promise; setMilestone(issueId: string | number, milestone: string): Promise; removeMilestone(issueId: string | number): Promise; listMilestones(state?: 'open' | 'closed' | 'all'): Promise; private ensureLabel; private parseIssue; } //# sourceMappingURL=github.d.ts.map