import type * as ElevenLabs from "../index"; /** * Data collection property with optional per-item LLM override for post-call analysis. * * TODO: migrate to composition (value_schema: LiteralJsonSchemaProperty + llm) instead of * inheritance, so this generalizes cleanly to object/array schemas in the future. */ export interface AnalysisProperty { type: ElevenLabs.AnalysisPropertyType; /** The description of the property. When set, the LLM will provide the value based on this description. Mutually exclusive with dynamic_variable, is_system_provided, and constant_value. */ description?: string; /** List of allowed string values for string type parameters */ enum?: string[]; /** If true, the value will be populated by the system at runtime. Used by API Integration Webhook tools for templating. Mutually exclusive with description, dynamic_variable, and constant_value. */ isSystemProvided?: boolean; /** The name of the dynamic variable to use for this property's value. Mutually exclusive with description, is_system_provided, and constant_value. */ dynamicVariable?: string; /** A constant value to use for this property. Mutually exclusive with description, dynamic_variable, and is_system_provided. */ constantValue?: ElevenLabs.AnalysisPropertyConstantValue; /** LLM model to use for this analysis item. If not set, uses agent's analysis_llm default. */ llm?: ElevenLabs.Llm; }