import { type CompositionPack } from "../knowledge/composition.ts"; export declare const COMPOSITION_SELECTOR_VERSION = "composition-selector-1"; export type CompositionSignal = { id: string; state: "known" | "unknown" | "absent"; origin: string; }; export type CompositionSelection = { schemaVersion: 1; selectorVersion: string; stage: string; page: string | null; policyHash: string; manifestHash: string; inputSignalHash: string; signals: CompositionSignal[]; eligible: { id: string; score: number; reasons: string[]; }[]; excluded: { id: string; reason: string; }[]; selected: { id: string; version: number; contentHash: string; bodyHash: string; summary: string; expansionHandle: string; reason: string; }[]; alternatives: { id: string; summary: string; expansionHandle: string; }[]; ties: { score: number; ids: string[]; }[]; }; /** A missing field stays unknown. We only assert absent media after an inspected inventory exists. */ export declare function compositionSignalsFromSite(root: string, page?: string): CompositionSignal[]; export declare function selectCompositionLessons(input: { pack: CompositionPack; stage: string; page?: string; signals: CompositionSignal[]; policyHash: string; limit?: number; }): CompositionSelection; export declare function compositionContextForStage(root: string, stage: string, page?: string, limit?: number): { policy: { mode: "composition-v1"; lessonRelease: typeof import("./composition-authoring.ts").COMPOSITION_LESSON_RELEASE; hash: string; }; pack: CompositionPack; receipt: CompositionSelection; } | undefined;