/** * Label Assigner * * Automatically assigns labels to issues based on content analysis and learned patterns */ import type { JiraIssue } from '../types'; import { PatternMatcher } from './pattern-matcher'; export interface LabelSuggestion { label: string; confidence: number; reason: string; } export interface LabelAssignmentResult { applied: string[]; suggested: LabelSuggestion[]; skipped: string[]; } export declare class LabelAssigner { private matcher; private config; constructor(matcher: PatternMatcher, config?: { confidenceThreshold?: number; autoApply?: boolean; learnFromHistory?: boolean; }); /** * Get label suggestions for an issue */ suggestLabels(issue: JiraIssue): Promise; /** * Apply labels to an issue */ applyLabels(issueKey: string, labels: string[], options?: { autoApply?: boolean; }): Promise; /** * Auto-apply labels based on suggestions */ autoApplyLabels(issueKey: string): Promise; /** * Suggest labels from keywords in issue content */ private suggestFromKeywords; /** * Suggest labels from issue type */ private suggestFromIssueType; /** * Get issue (placeholder - should use actual client) */ private getIssue; } //# sourceMappingURL=label-assigner.d.ts.map