import type { Issue } from '@generacy-ai/cockpit'; import type { ClassifiedIssue } from '../shared/classify-issue.js'; export type SnapshotKey = string; export type ChecksRollup = 'pending' | 'success' | 'failure' | 'none' | 'error'; export type PrLifecycle = 'open' | 'closed' | 'merged'; export interface IssueSnapshot { kind: 'issue'; repo: string; number: number; url: string; state: 'OPEN' | 'CLOSED'; stateReason: 'COMPLETED' | 'NOT_PLANNED' | null; labels: string[]; classified: ClassifiedIssue; } export interface PrSnapshot { kind: 'pr'; repo: string; number: number; url: string; lifecycle: PrLifecycle; state: 'OPEN' | 'CLOSED'; stateReason: 'COMPLETED' | 'NOT_PLANNED' | null; labels: string[]; classified: ClassifiedIssue; checksRollup: ChecksRollup; headRefOid?: string; cyclesSinceLastCheckFetch: number; } export type Snapshot = IssueSnapshot | PrSnapshot; export type SnapshotMap = Map; export declare function snapshotKey(repo: string, kind: 'issue' | 'pr', number: number): SnapshotKey; export declare function buildIssueSnapshot(repo: string, issue: Pick, classified: ClassifiedIssue): IssueSnapshot; export declare function buildPrSnapshot(repo: string, issue: Pick, classified: ClassifiedIssue, lifecycle: PrLifecycle, rollup: ChecksRollup, extras?: { headRefOid?: string; cyclesSinceLastCheckFetch?: number; }): PrSnapshot; //# sourceMappingURL=snapshot.d.ts.map