export interface IssueScoutEvidence { source: string; sourcePath?: string; sprint?: number; command?: string; quote: string; details?: Record; } export interface IssueScoutClassification { slopeDriven: boolean; kind: string; title: string; labels: string[]; confidence: number; summary: string; acceptanceCriteria: string[]; reasons: string[]; } export interface IssueScoutCandidate { kind: string; title: string; labels: string[]; confidence: number; summary: string; acceptanceCriteria: string[]; evidence: IssueScoutEvidence[]; fingerprint: string; dedupe?: IssueScoutDedupeResult; } export interface ExistingIssue { number: number; title: string; body?: string; state?: string; url?: string; labels?: string[]; } export interface IssueScoutDedupeResult { status: 'new' | 'duplicate'; reason: string; matchedIssue?: ExistingIssue; similarity?: number; } export interface IssueScoutStateRecord { fingerprint: string; title: string; issueNumber?: number; issueUrl?: string; status: 'created' | 'commented' | 'deduped'; updatedAt: string; sourcePaths?: string[]; } export interface IssueScoutState { version: 1; records: IssueScoutStateRecord[]; } export declare function classifySlopeIssue(input: string | IssueScoutEvidence | IssueScoutEvidence[]): IssueScoutClassification; export declare function fingerprintCandidate(candidate: Pick): string; export declare function buildIssueCandidate(evidence: IssueScoutEvidence | IssueScoutEvidence[]): IssueScoutCandidate | null; export declare function buildIssueCandidates(evidence: IssueScoutEvidence[]): IssueScoutCandidate[]; export declare function dedupeCandidates(candidates: IssueScoutCandidate[], existingIssues: ExistingIssue[]): IssueScoutCandidate[]; export declare function formatIssueBody(candidate: IssueScoutCandidate): string; export declare function formatIssueScoutComment(candidate: IssueScoutCandidate): string; export declare function renderIssueScoutDigest(candidates: IssueScoutCandidate[], opts?: { generatedAt?: string; repo?: string; }): string; export declare function parseIssueScoutState(raw: string): IssueScoutState; export declare function mergeIssueScoutState(state: IssueScoutState, records: IssueScoutStateRecord[]): IssueScoutState; //# sourceMappingURL=issue-scout.d.ts.map