import type { AllowlistedEvidence, EvidenceKind, EvidenceMiningScope, RawEvidenceSegment } from "./negotiation-evidence.types.js"; /** Result of one extraction pass over a recipient+intent's segments. */ export interface ExtractionResult { /** Allowlisted evidence, grouped/deduped, one logical set per opportunity. */ evidence: AllowlistedEvidence[]; /** Distinct opportunities that produced at least one evidence unit. */ distinctOpportunities: number; /** Candidate records rejected by allowlist / exclusion / provenance rules. */ excludedRecords: number; /** Allowlisted evidence unit counts, by kind. */ evidenceCounts: Record; } /** * Extract allowlisted evidence for one (recipient, intent) mining scope. * * Continuation grouping: segments are grouped by `opportunityId`; a single * opportunity contributes ONE deduped evidence set regardless of how many * continuation tasks it spans, so an opportunity counts once toward recurrence. * * Contamination guard: a segment whose recipient / intent / fingerprint / * network do not match the scope, or whose own recipient equals its * counterparty, is rejected wholesale (all records counted as excluded). */ export declare function extractAllowlistedEvidence(scope: EvidenceMiningScope, segments: RawEvidenceSegment[]): ExtractionResult;