//#region src/core/enrichments.d.ts
interface MessageLabelData {
  key: string;
  value: string;
  confidence?: number;
}
declare class MessageLabel {
  readonly key: string;
  readonly value: string;
  readonly confidence: number | null;
  constructor(options: {
    key: string;
    value: string;
    confidence?: number;
  });
  toDict(): MessageLabelData;
}
interface EvidenceQuoteData {
  quote: string;
  turn_index: number;
  role?: string;
}
declare class EvidenceQuote {
  readonly quote: string;
  readonly turnIndex: number;
  readonly role: string | null;
  constructor(options: {
    quote: string;
    turnIndex: number;
    role?: string;
  });
  toDict(): EvidenceQuoteData;
}
interface TopicClassificationData {
  l1?: string;
  values?: string[];
  primary?: string;
  /** @deprecated Use `subcategories` instead. */
  l2?: string;
  subcategories?: string[];
  topics_covered?: string[];
  outcomes_by_topic?: Record<string, string>;
}
declare class TopicClassification {
  readonly l1: string | null;
  readonly values: string[] | null;
  readonly primary: string | null;
  /** @deprecated Use {@link subcategories} instead. */
  readonly l2: string | null;
  readonly subcategories: string[] | null;
  readonly topicsCovered: string[] | null;
  readonly outcomesByTopic: Record<string, string> | null;
  constructor(options?: {
    l1?: string;
    values?: string[];
    primary?: string;
    /** @deprecated Use `subcategories` instead. */
    l2?: string;
    subcategories?: string[];
    topicsCovered?: string[];
    outcomesByTopic?: Record<string, string>;
  });
  toDict(): TopicClassificationData;
}
interface RubricScoreData {
  name: string;
  score: number;
  rationale?: string;
  evidence?: EvidenceQuoteData[];
  improvement_opportunities?: string;
}
declare class RubricScore {
  readonly name: string;
  readonly score: number;
  readonly rationale: string | null;
  readonly evidence: EvidenceQuote[] | null;
  readonly improvementOpportunities: string | null;
  constructor(options: {
    name: string;
    score: number;
    rationale?: string;
    evidence?: EvidenceQuote[];
    improvementOpportunities?: string;
  });
  toDict(): RubricScoreData;
}
interface SessionEnrichmentsOptions {
  topicClassifications?: Record<string, TopicClassification>;
  rubrics?: RubricScore[];
  overallOutcome?: string;
  hasTaskFailure?: boolean;
  hasNegativeFeedback?: boolean;
  hasDataQualityIssues?: boolean;
  hasTechnicalFailure?: boolean;
  errorCategories?: string[];
  userFriction?: string[];
  /** @deprecated Use userFriction instead */
  behavioralPatterns?: string[];
  customMetadata?: Record<string, unknown>;
  schemaVersion?: string;
  qualityScore?: number;
  sentimentScore?: number;
  taskFailureType?: string;
  taskFailureReason?: string;
  negativeFeedbackPhrases?: string[];
  dataQualityIssues?: string[];
  technicalErrorCount?: number;
  agentChain?: string[];
  rootAgentName?: string;
  requestComplexity?: string;
  messageLabels?: Record<string, MessageLabel[]>;
}
declare class SessionEnrichments {
  readonly topicClassifications: Record<string, TopicClassification> | null;
  readonly rubrics: RubricScore[] | null;
  readonly overallOutcome: string | null;
  readonly hasTaskFailure: boolean;
  readonly hasNegativeFeedback: boolean;
  readonly hasDataQualityIssues: boolean;
  readonly hasTechnicalFailure: boolean;
  readonly errorCategories: string[] | null;
  readonly userFriction: string[] | null;
  readonly customMetadata: Record<string, unknown> | null;
  readonly schemaVersion: string;
  readonly qualityScore: number | null;
  readonly sentimentScore: number | null;
  readonly taskFailureType: string | null;
  readonly taskFailureReason: string | null;
  readonly negativeFeedbackPhrases: string[] | null;
  readonly dataQualityIssues: string[] | null;
  readonly technicalErrorCount: number | null;
  readonly agentChain: string[] | null;
  readonly rootAgentName: string | null;
  readonly requestComplexity: string | null;
  readonly messageLabels: Record<string, MessageLabel[]> | null;
  constructor(options?: SessionEnrichmentsOptions);
  toDict(): Record<string, unknown>;
}
//#endregion
export { EvidenceQuote, EvidenceQuoteData, MessageLabel, MessageLabelData, RubricScore, RubricScoreData, SessionEnrichments, SessionEnrichmentsOptions, TopicClassification, TopicClassificationData };
//# sourceMappingURL=enrichments.d.ts.map