import type { TriageResult } from "../utils/types.js"; import type { IBlackboardStore, IDecisionStore } from "../storage/interfaces.js"; export interface TriageStores { decisionStore: IDecisionStore; blackboardStore: IBlackboardStore; } /** Raw inputs — §4.1. Adapters pass values through; normalization happens here. */ export interface TriageInput { scope?: string; window_ms?: number; section?: "all" | "open" | "recent"; limit?: number; since?: string; for_agent?: string; /** * Keyset cursor for paging the open bucket (D5 — the §11.7 revisit * trigger fired on field evidence of a 320-item open lane). Opaque value * from a prior result's open_cursor. Malformed values are ignored, like * unparseable since. */ open_after?: string; } /** * Build the triage read-model. Two-phase read: getIndex() narrows decision * candidates on status/scope/timestamp, then full records are read for the * narrowed set only (§5). The resolution corpus is ALWAYS the complete * unfiltered live board — membership filters never apply to it (§3.4). */ export declare function buildTriage(stores: TriageStores, input?: TriageInput, now?: () => Date): Promise; //# sourceMappingURL=triage.d.ts.map