import type { BundleManifest, Classification, FollowUp, Wave, WaveOutcome } from '../model.js'; import type { Actor } from './actors.js'; import type { SpikeAssessment } from './baseline.js'; import type { Asymmetry } from './configDelta.js'; import type { Outcomes } from './outcomes.js'; import type { ResponseSummary } from './responses.js'; export interface VerdictInput { wave: Wave; spikes: SpikeAssessment[]; actors: Actor[]; responses: ResponseSummary; outcomes: Outcomes; requiredLogsPresent: boolean; } export declare const FORBIDDEN_WORDS: RegExp; export declare function isScannerLike(a: Actor): boolean; export declare function classify(v: VerdictInput): Classification; /** * Why a wave cannot be called no-evidence. No-evidence is allowed only when this is empty: * the required logs are present, the empty-reply size came from a reference set, every * controller call parsed, EVERY data-access call was joined to a reply size (any unjoined read * could be the one that returned content), and every wave day has a baseline median. * The join test uses data-access joins, not all joins: a joined auth reply says nothing about * what a data read returned (stricter than `joined > 0`). */ export declare function notAssessedReasons(v: VerdictInput): string[]; /** * Returned content that decides the result. With an isolated actor, only the actor's replies * count: a public site returns content to its ordinary visitors all the time. Without one, * every guest reply counts, because nothing separates the actor from the visitors. */ export declare function decisiveReturned(v: VerdictInput): ResponseSummary['returnedContent']; /** Precedence: access-gained > content-returned > not-assessed > no-evidence. */ export declare function outcomeOf(v: VerdictInput): WaveOutcome; /** Org-wide limits: they hold for the whole report, including one with zero waves. */ export declare function globalLimitsFor(m: BundleManifest, followUp?: FollowUp): string[]; /** Limits specific to one wave. Org-wide limits live in globalLimitsFor. */ export declare function limitsFor(v: VerdictInput): string[]; export declare function nextStepsFor(v: VerdictInput, asymmetries: Asymmetry[], m: BundleManifest): string[]; //# sourceMappingURL=verdict.d.ts.map