import type { ProviderUsageSnapshot } from '../../models/response.js'; import type { StepProviderInfo, StepRunResult } from '../types.js'; export interface SpanMetricSnapshot { name: string; attributes: Record; } export interface ProviderErrorMetricInput { runId?: string; provider?: string; model?: string; errorType: string; count?: number; } export interface QualityGateResultMetricInput { runId?: string; workflowName: string; stepName: string; gateName: string; result: 'pass' | 'fail'; } export interface WorkflowDetectionMetricInput { runId?: string; workflowName: string; stepName: string; } export type TokenCostEstimator = (provider: string, model: string, usage: ProviderUsageSnapshot) => number | undefined; export declare function recordTokenUsageMetricsFromSpan(span: SpanMetricSnapshot, estimateTokenCostUsd: TokenCostEstimator): void; export declare function recordProviderErrorMetric(input: ProviderErrorMetricInput): void; export declare function recordStepProviderErrorMetrics(runId: string | undefined, result: StepRunResult | undefined, providerInfo: StepProviderInfo | undefined): void; export declare function recordQualityGateResultMetric(input: QualityGateResultMetricInput): void; export declare function recordWorkflowLoopDetectedMetric(input: WorkflowDetectionMetricInput): void; export declare function recordWorkflowCycleDetectedMetric(input: WorkflowDetectionMetricInput): void; //# sourceMappingURL=workflowMetrics.d.ts.map