export type LearningFeedbackVerdict = 'accept' | 'edit' | 'reject' | null; export type LearningFeedbackReason = 'missing_citation' | 'wrong_format' | 'wrong_category' | 'too_long' | 'missed_clause' | 'needs_review' | 'great' | null; export interface LearningMetadataRow { tenant_id: string; vertical: string; outcome_slug: string; prompt_version: string; model_id: string; effort: 'low' | 'medium' | 'high' | 'xhigh' | 'unknown'; quality_score: number; passed: boolean; escalated: boolean; cost_cents: number; input_tokens: number; output_tokens: number; duration_ms: number; guardrail_tier: string; feedback_verdict: LearningFeedbackVerdict; feedback_reason: LearningFeedbackReason; timestamp: string; } export interface LearningAggregate { key: string; vertical: string; outcome_slug: string; prompt_version: string; model_id: string; effort: string; sample_count: number; distinct_tenant_count: number; pass_rate: number; mean_quality_score: number; escalation_rate: number; mean_cost_cents: number; mean_latency_ms: number; feedback_distribution: { accept: number; edit: number; reject: number; accept_rate: number; reject_rate: number; }; reason_counts: Record; revision_suggestion: string; } export interface LearningProposal { proposal_id: string; status: 'shadow'; vertical: string; outcome_slug: string; proposed: { prompt_version: string; model_id: string; effort: string; fit_score: number; }; current: { prompt_version: string; model_id: string; effort: string; fit_score: number; } | null; sample_count: number; distinct_tenant_count: number; revision_suggestion: string; human_promotion_required: true; } export declare function assertLearningMetadataOnly(value: Record): void; export declare function normalizeLearningMetadataRow(input: Record): LearningMetadataRow; export declare function aggregateLearningMetadata(rows: Record[]): LearningAggregate[]; export declare function proposeLearningMetadataImprovements(aggregates: LearningAggregate[], current?: Record, opts?: { minRuns?: number; minTenants?: number; }): LearningProposal[]; export declare function revisionSuggestion(reasons: Record): string; export interface PortableAiTeamOutcome { vertical: string; name: string; outcome_slug: string; prompt_version: string; caps?: Record; effort?: string; guardrail_tier?: string; enabled?: boolean; } export interface PortableAiTeamExport { schema_version: 1; export_type: 'agentguard_ai_team'; exported_at: string; zero_data_plane: true; no_lock_in: true; outcomes: PortableAiTeamOutcome[]; } export declare function exportAiTeamConfig(outcomes: PortableAiTeamOutcome[]): PortableAiTeamExport; //# sourceMappingURL=metadata-learning.d.ts.map