import type { TClaimCanonicalizationOutput, TCompiledPremise, TConclusionSelectionOutput, TInferenceRelation } from "../stages/schemas.js"; /** * The form two titles are compared in when checking for duplicates: * surrounding space and letter case are ignored, so "Tacit consent" and * " tacit consent" count as the same title. */ export declare function titleKey(title: string): string; /** * The conclusion title the model authored, when it is safe to use. * * The model authors exactly one, describing `conclusionCandidates[0]`. * The resolved `conclusionMiniId` is the first candidate that is a known * normal claim, or a relation-graph fallback — so it is not necessarily * that first candidate. Anything but a strict match falls through to * composition, which can be redundant but is never about the wrong * claim. */ export declare function resolveAuthoredConclusionTitle(conclusion: TConclusionSelectionOutput | undefined, relations: readonly TInferenceRelation[]): string | undefined; export type TTitleComposerMaps = { /** claim miniId → display title (LLM `title`, else `axiom`). */ claimTitleByMiniId: Map; /** assigned variable symbol → claim miniId. */ claimMiniIdBySymbol: Map; /** claim miniId → assigned variable symbol (defensive fallback). */ symbolByClaimMiniId: Map; /** relationId → the relation that produced a premise. */ relationById: Map; }; export declare function buildPremiseTitle(premise: TCompiledPremise, maps: TTitleComposerMaps, /** Guard-resolved authored conclusion title, if one is usable. */ authoredConclusionTitle: string | undefined, /** Title keys (`titleKey`) already given to earlier premises. */ taken: ReadonlySet): string; export declare function buildClaimTitleByMiniId(canonicalClaims: TClaimCanonicalizationOutput["canonicalClaims"]): Map; export declare function buildArgumentTitle(canonicalClaims: TClaimCanonicalizationOutput["canonicalClaims"], conclusionMiniId: string | null): string; //# sourceMappingURL=titles.d.ts.map