import type { z } from "zod"; import type { L0Result } from "./l0"; import type { StructuredResult } from "./structured"; export interface ConsensusOptions { streams: Array<() => Promise | any>; schema?: T; strategy?: ConsensusStrategy; threshold?: number; resolveConflicts?: ConflictResolution; weights?: number[]; minimumAgreement?: number; timeout?: number; signal?: AbortSignal; detectZeroTokens?: boolean; monitoring?: { enabled?: boolean; metadata?: Record; }; onComplete?: (outputs: ConsensusOutput[]) => void | Promise; onConsensus?: (result: ConsensusResult) => void | Promise; metadata?: Record; } export type ConsensusStrategy = "majority" | "unanimous" | "weighted" | "best"; export type ConflictResolution = "vote" | "merge" | "fail" | "best"; export interface ConsensusResult { consensus: T; confidence: number; outputs: ConsensusOutput[]; agreements: Agreement[]; disagreements: Disagreement[]; analysis: ConsensusAnalysis; type: "text" | "structured"; fieldConsensus?: FieldConsensus; status: "success" | "partial" | "failed"; error?: Error; metadata?: Record; } export interface ConsensusOutput { index: number; text: string; data?: any; l0Result?: L0Result; structuredResult?: StructuredResult; status: "success" | "error"; error?: Error; duration: number; weight: number; similarities?: number[]; } export interface Agreement { content: string | any; path?: string; count: number; ratio: number; indices: number[]; type: AgreementType; } export type AgreementType = "exact" | "similar" | "structural" | "semantic"; export interface Disagreement { path?: string; values: Array<{ value: any; count: number; indices: number[]; }>; severity: DisagreementSeverity; resolution?: string; resolutionConfidence?: number; } export type DisagreementSeverity = "minor" | "moderate" | "major" | "critical"; export interface ConsensusAnalysis { totalOutputs: number; successfulOutputs: number; failedOutputs: number; identicalOutputs: number; similarityMatrix: number[][]; averageSimilarity: number; minSimilarity: number; maxSimilarity: number; totalAgreements: number; totalDisagreements: number; strategy: ConsensusStrategy; conflictResolution: ConflictResolution; duration: number; } export interface FieldConsensus { fields: Record; overallAgreement: number; agreedFields: string[]; disagreedFields: string[]; } export interface FieldAgreement { path: string; value: any; agreement: number; votes: Record; values: any[]; unanimous: boolean; confidence: number; } export interface TextConsensusOptions { threshold: number; strategy: ConsensusStrategy; resolveConflicts: ConflictResolution; weights: number[]; } export interface StructuredConsensusOptions { schema: z.ZodTypeAny; strategy: ConsensusStrategy; resolveConflicts: ConflictResolution; weights: number[]; minimumAgreement: number; } export interface ConsensusPreset { name: string; strategy: ConsensusStrategy; threshold: number; resolveConflicts: ConflictResolution; minimumAgreement: number; } export declare const strictConsensus: Partial; export declare const standardConsensus: Partial; export declare const lenientConsensus: Partial; export declare const bestConsensus: Partial; //# sourceMappingURL=consensus.d.ts.map