import type { AgentEngine } from "../agent/engine/types.js"; import type { ObservabilityConfig } from "./types.js"; export declare const HOSTED_INFERRED_SENTIMENT_SAMPLE_RATE = 1; export declare const INFERRED_SENTIMENT_MAX_CHARS = 2000; export declare const INFERRED_SENTIMENT_TIMEOUT_MS = 5000; export type InferredSentiment = "positive" | "negative" | "neutral"; type SentimentEnv = Record; export declare function isFirstPartyHostedAgentNative(env?: SentimentEnv): boolean; export declare function resolveInferredSentimentConfig(stored: Partial | null | undefined, env?: SentimentEnv): Pick; export declare function shouldSampleInferredSentiment(runId: string, sampleRate: number): boolean; export declare function shouldInferSentimentForTurn(args: { internalContinuation: boolean; isBackgroundWorker: boolean; backgroundContinuationCount: number; hasUserText: boolean; }): boolean; export declare function parseInferredSentiment(output: string): InferredSentiment | null; export declare const INFERRED_SENTIMENT_FAILURE_REASONS: readonly ["engine_unavailable", "model_unsupported", "timeout", "parse_failed", "empty"]; export type InferredSentimentFailureReason = (typeof INFERRED_SENTIMENT_FAILURE_REASONS)[number]; export declare function inferAndTrackSentiment(args: { /** Explicit engine override; wins over `runEngine`. */ engine?: AgentEngine; /** The engine that served the run being classified. */ runEngine?: AgentEngine; classifierModel: string; precedingResponseModel: string; text: string; precedingRunId: string; classificationTriggerRunId: string; threadId: string | null; userId: string | null; sampleRate: number; }): Promise; export {};