import { type TrainingItem } from "../items.js"; import type { Corpus } from "../corpus.js"; /** One (subject, relation, object) triple from a 2Wiki `evidences` cell. */ export interface WikiTriple { subject: string; relation: string; object: string; } /** Normalize a 2Wiki row into its evidence triples, or null when it carries * none usable. `evidences` is a JSON STRING holding an array of 3-element * arrays; a row whose cell is absent, unparseable, or empty yields null. * Individual malformed or oversized triples are dropped without discarding the * row — one bad triple should not cost the others. */ export declare function toWikiTriples(row: unknown, maxChars?: number): WikiTriple[] | null; /** Render ONE triple as the prose fact Sema stores. Kept separate so the two * deposits below are guaranteed to share a byte-identical continuation: the * pivot fact only works if it leads to the SAME node the relation fact does. */ export declare function wikiTripleSentence(t: WikiTriple): string; /** Translate a row's triples into SEMA items: per triple, the relation fact and * the bare-subject PIVOT fact (see the section note above). refineItems drops * the duplicates this produces when a row states the same triple twice. */ export declare function wikiTriplesToItems(triples: WikiTriple[]): TrainingItem[]; export declare const wiki2: Corpus;