import type { TSchema } from "typebox"; import type { TParserWarning, TParserBuildOptions } from "./types.js"; import type { TCoreArgument, TCorePremise, TCorePropositionalExpression, TCorePropositionalVariable, TCoreClaim, TCoreClaimConnection } from "../schemata/index.js"; import { ArgumentEngine } from "../core/argument-engine.js"; import { ClaimLibrary } from "../core/claim-library.js"; import { ClaimCitationLibrary } from "../core/claim-citation-library.js"; import { ClaimAxiomLibrary } from "../core/claim-axiom-library.js"; import type { TParsedArgumentResponse, TParsedArgument, TParsedClaim, TParsedVariable, TParsedPremise } from "./schemata.js"; /** * The result returned by `ArgumentParser.build()`. */ export type TArgumentParserResult = { engine: ArgumentEngine; claimLibrary: ClaimLibrary; claimCitationLibrary: ClaimCitationLibrary; claimAxiomLibrary: ClaimAxiomLibrary; warnings: TParserWarning[]; }; /** * Validates and builds an `ArgumentEngine` from a parsed LLM response. * * Override the protected `map*` hooks to inject custom fields into * the entities created during the build phase. */ export declare class ArgumentParser { protected readonly responseSchema: TSchema; constructor(responseSchema?: TSchema); /** * Validate raw LLM output against the response schema. */ validate(raw: unknown): TParsedArgumentResponse; /** * Build an ArgumentEngine from a validated response. * * @throws If `response.argument` is null * @throws If any formula references an undeclared variable * @throws If any formula contains nested implies/iff * @throws If a variable references an undeclared claim miniId * @throws If the conclusion premise miniId is unresolvable */ build(response: TParsedArgumentResponse, options?: TParserBuildOptions): TArgumentParserResult; protected mapArgument(_parsed: TParsedArgument): Record; protected mapClaim(_parsed: TParsedClaim): Record; protected mapVariable(_parsed: TParsedVariable): Record; protected mapPremise(_parsed: TParsedPremise): Record; protected mapClaimCitation(_dependentParsed: TParsedClaim, _supportingParsed: TParsedClaim, _dependentClaimId: string, _supportingClaimId: string): Record; protected mapClaimAxiom(_dependentParsed: TParsedClaim, _supportingParsed: TParsedClaim, _dependentClaimId: string, _supportingClaimId: string): Record; } //# sourceMappingURL=argument-parser.d.ts.map