import type { SlopeEvent } from './types.js'; import type { RecurringPattern, CommonIssuesFile } from './briefing.js'; /** An event cluster — events grouped by area and type */ export interface EventCluster { type: string; area: string; sprints: number[]; events: SlopeEvent[]; description: string; } /** A candidate for promotion to common issues */ export interface PromotionCandidate { cluster: EventCluster; reason: string; suggestedPattern: RecurringPattern; } /** Result of running the pipeline */ export interface PipelineResult { clusters: EventCluster[]; candidates: PromotionCandidate[]; promoted: number; skipped: number; } /** * Cluster events by type + area, tracking which sprints they appear in. */ export declare function clusterEvents(events: SlopeEvent[]): EventCluster[]; /** * Find promotion candidates — clusters that appear in enough sprints. */ export declare function findPromotionCandidates(clusters: EventCluster[], threshold?: number): PromotionCandidate[]; /** * Run the full pipeline: cluster events → find candidates → promote to common issues. * Respects existing manual entries — does not overwrite patterns without source: 'telemetry'. */ export declare function runPipeline(events: SlopeEvent[], existingIssues: CommonIssuesFile, options?: { threshold?: number; }): PipelineResult; //# sourceMappingURL=pipeline.d.ts.map