import { expressionSignals, type FitProfile } from "./reference-fit.ts"; export declare const REFERENCE_RELEASE = "2026-10-05.1"; export declare const REFERENCE_SELECTOR = "fit-complementarity-3"; export declare const INITIAL_CORRECTED_REFERENCE_RELEASE = "2026-10-06.1"; export declare const CORRECTED_REFERENCE_RELEASE = "2026-10-06.2"; export declare const CORRECTED_REFERENCE_SELECTOR = "task-expression-complementarity-2"; export declare const referenceSelectorVersion: (release: string) => "fit-complementarity-3" | "task-expression-complementarity-2" | "task-expression-complementarity-1"; export declare const referenceReleaseDirectory: (release?: string) => "v2" | "v1" | "v3"; export declare const REFERENCE_FAMILIES: readonly ["swiss", "editorial", "expressive-type", "quiet-luxury", "documentary", "campaign", "hospitality", "maximalism", "handmade", "industrial", "technical", "retro", "athletic", "civic", "text-first", "spatial"]; export type ReferenceEvidenceLevel = "candidate" | "live-screened" | "deep-reviewed" | "unavailable" | "retired"; export type ReferenceView = { id: string; route: string; resolvedUrl: string; inspectedAt: string; viewport: { width: number; height: number; }; state: string; scope: "opening" | "whole-page" | "task"; observation: string; evidencePointer: string; capture?: { path: string; sha256: string; }; limitations: string[]; evidence?: { kind: string; sourceRevision: number; inspectedAt: string; uri: string | null; sessionId: string | null; }; }; export type ReferenceRecord = { id: string; revision: number; title: string; lifecycle: "draft" | "active" | "retired"; primaryFamily: typeof REFERENCE_FAMILIES[number]; tags: string[]; requestedUrl: string; resolvedUrl: string | null; inspectedAt: string | null; version: "current" | "historical"; creator: { name: string | null; attributionUrl: string | null; verified: boolean; }; discovery: { source: string; url: string; }; sourceStatus: "live" | "pending" | "blocked" | "retired"; evidenceLevel: ReferenceEvidenceLevel; sourcing: { researchRetention: string; redistribution: string; generationUse: "abstract-lessons-only" | "cleared-material" | "none"; basis: string; }; eligible: { metadata: boolean; images: boolean; code: boolean; }; coverage: { localProfessional: boolean; sparseMedia: boolean; informationDense: boolean; immersive: boolean; }; fitSignals: string[]; visitorTasks: string[]; assetMinimum: "none" | "one-image" | "multiple-images" | "product-ui"; complexity: "low" | "medium" | "high"; lowComplexityAlternative: string; structure: { opening: string; navigation: string; sequence: string[]; evidence: string; density: string; imageTypeRelationship: string; interior: string; responsive: string; action: string; }; observedRelationships: string[]; lessons: string[]; useWhen: string[]; avoidWhen: string[]; adds: string; views: ReferenceView[]; limitations: string[]; relatedExamples: string[]; lessonIds: string[]; compositionTags?: string[]; motionTags?: string[]; temporalEvidence?: { route: string; viewport: { width: number; height: number; }; scenarioHash: string; sourceHash: string; recording: { path: string; sha256: string; }; observation: string; assessor: "agent" | "human"; }[]; selectionProfile?: FitProfile; visualEvidence?: { kind: "legacy-observation" | "live-only" | "retained-capture" | "accessible-session"; lastVerifiedAt: string | null; freshness: string; availability: string; sourceRevision: number; durableOriginalIds: string[]; note: string; }; }; export type ReferenceCatalog = { schemaVersion: 1; release: string; records: ReferenceRecord[]; }; export type ReferenceManifest = { schemaVersion: 1; release: string; status: string; catalog: { path: string; sha256: string; }; labeledPreferenceData: false; }; export declare const referenceHash: (value: string | Buffer) => string; export declare function confinedReferencePath(base: string, path: string): string; /** No implicit promotion. This policy is separate from authoring and block eligibility. */ export declare function referencePolicy(root: string): { release: string; mode: "lessons"; manifestHash: string | undefined; teachingManifestHash: string | undefined; hash: string; } | undefined; export declare function validateReferenceCatalog(catalog: ReferenceCatalog): string[]; export declare function loadReferenceCatalog(root: string, kernel?: string, release?: string): { base: string; kernel: string; manifest: ReferenceManifest; catalog: ReferenceCatalog; manifestHash: string; }; /** Validate dependencies before publishing an ingestion, as well as on consumption. */ export declare function validateReferenceDependencies(catalog: ReferenceCatalog, releaseKernel: string, base: string): void; export type ReferenceSignals = { known: string[]; absent: string[]; theme: string; roles: string[]; visitorTasks?: string[]; complexity: "low" | "medium" | "high"; origins: unknown[]; contexts?: string[]; expression?: ReturnType; }; export declare function referenceSignals(root: string, release?: string): ReferenceSignals; export declare function selectReferences(pack: ReturnType, signals: ReferenceSignals, acceptedIds?: string[], workingLimit?: number): { schemaVersion: 1; selectorVersion: string; release: string; manifestHash: string; catalogHash: string; inputSignalHash: string; signals: ReferenceSignals; eligible: { id: string; revision: number; score: number; reasons: string[]; }[]; excluded: { id: string; reason: string; }[]; shortlist: { id: string; revision: number; score: number; reasons: string[]; }[]; selected: { id: string; revision: number; score: number; reasons: string[]; }[]; accepted: boolean; gaps: string[]; inspectedEvidence: string[]; ties: { score: number; ids: string[]; }[]; }; export declare function frozenReferenceSignals(root: string, accepted: { inputSignalHash: string; manifestHash: string; }): ReferenceSignals; export declare function referenceContext(root: string, stage: string, kernel?: string): { policy: { release: string; mode: "lessons"; manifestHash: string | undefined; teachingManifestHash: string | undefined; hash: string; }; pack: { base: string; kernel: string; manifest: ReferenceManifest; catalog: ReferenceCatalog; manifestHash: string; }; receipt: { gaps: string[]; teachingManifestHash: string; teachingSelected: { id: string; revision: number; score: number; reasons: string[]; handle: string; idea: string; }[]; schemaVersion: 1; selectorVersion: string; release: string; manifestHash: string; catalogHash: string; inputSignalHash: string; signals: ReferenceSignals; eligible: { id: string; revision: number; score: number; reasons: string[]; }[]; excluded: { id: string; reason: string; }[]; shortlist: { id: string; revision: number; score: number; reasons: string[]; }[]; selected: { id: string; revision: number; score: number; reasons: string[]; }[]; accepted: boolean; inspectedEvidence: string[]; ties: { score: number; ids: string[]; }[]; }; text: string; expansions: { id: string; hash: string; chars: number; text: string; }[]; } | undefined; export declare function referenceCoverage(catalog: ReferenceCatalog): { total: number; candidate: number; screened: number; deep: number; eligibleMetadata: number; eligibleImages: number; unavailable: number; families: { family: "editorial" | "hospitality" | "spatial" | "technical" | "swiss" | "expressive-type" | "quiet-luxury" | "documentary" | "campaign" | "maximalism" | "handmade" | "industrial" | "retro" | "athletic" | "civic" | "text-first"; screened: number; deep: number; deepGap: number; }[]; crossCutting: { [k: string]: { screened: number; deep: number; }; }; intersections: { localSparse: number; localDense: number; sparseDense: number; }; };