// @generated by protoc-gen-es v1.10.1 with parameter "target=dts+js"
// @generated from file agent/livekit_agent_session.proto (package livekit.agent, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import type { BinaryReadOptions, Duration, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage, Struct, Timestamp } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";

/**
 * @generated from enum livekit.agent.ChatRole
 */
export declare enum ChatRole {
  /**
   * @generated from enum value: DEVELOPER = 0;
   */
  DEVELOPER = 0,

  /**
   * @generated from enum value: SYSTEM = 1;
   */
  SYSTEM = 1,

  /**
   * @generated from enum value: USER = 2;
   */
  USER = 2,

  /**
   * @generated from enum value: ASSISTANT = 3;
   */
  ASSISTANT = 3,
}

/**
 * @generated from enum livekit.agent.AgentState
 */
export declare enum AgentState {
  /**
   * @generated from enum value: AS_INITIALIZING = 0;
   */
  AS_INITIALIZING = 0,

  /**
   * @generated from enum value: AS_IDLE = 1;
   */
  AS_IDLE = 1,

  /**
   * @generated from enum value: AS_LISTENING = 2;
   */
  AS_LISTENING = 2,

  /**
   * @generated from enum value: AS_THINKING = 3;
   */
  AS_THINKING = 3,

  /**
   * @generated from enum value: AS_SPEAKING = 4;
   */
  AS_SPEAKING = 4,
}

/**
 * @generated from enum livekit.agent.UserState
 */
export declare enum UserState {
  /**
   * @generated from enum value: US_SPEAKING = 0;
   */
  US_SPEAKING = 0,

  /**
   * @generated from enum value: US_LISTENING = 1;
   */
  US_LISTENING = 1,

  /**
   * @generated from enum value: US_AWAY = 2;
   */
  US_AWAY = 2,
}

/**
 * @generated from enum livekit.agent.ToolCallStatus
 */
export declare enum ToolCallStatus {
  /**
   * @generated from enum value: TC_RUNNING = 0;
   */
  TC_RUNNING = 0,

  /**
   * @generated from enum value: TC_DONE = 1;
   */
  TC_DONE = 1,

  /**
   * @generated from enum value: TC_ERROR = 2;
   */
  TC_ERROR = 2,

  /**
   * @generated from enum value: TC_CANCELLED = 3;
   */
  TC_CANCELLED = 3,
}

/**
 * @generated from enum livekit.agent.ToolReplyStatus
 */
export declare enum ToolReplyStatus {
  /**
   * @generated from enum value: TR_SCHEDULED = 0;
   */
  TR_SCHEDULED = 0,

  /**
   * @generated from enum value: TR_COMPLETED = 1;
   */
  TR_COMPLETED = 1,

  /**
   * @generated from enum value: TR_INTERRUPTED = 2;
   */
  TR_INTERRUPTED = 2,

  /**
   * @generated from enum value: TR_SKIPPED = 3;
   */
  TR_SKIPPED = 3,
}

/**
 * @generated from enum livekit.agent.AmdCategory
 */
export declare enum AmdCategory {
  /**
   * @generated from enum value: AMD_UNKNOWN = 0;
   */
  AMD_UNKNOWN = 0,

  /**
   * @generated from enum value: AMD_HUMAN = 1;
   */
  AMD_HUMAN = 1,

  /**
   * @generated from enum value: AMD_MACHINE_IVR = 2;
   */
  AMD_MACHINE_IVR = 2,

  /**
   * @generated from enum value: AMD_MACHINE_VM = 3;
   */
  AMD_MACHINE_VM = 3,

  /**
   * @generated from enum value: AMD_MACHINE_UNAVAILABLE = 4;
   */
  AMD_MACHINE_UNAVAILABLE = 4,

  /**
   * @generated from enum value: AMD_UNCERTAIN = 5;
   */
  AMD_UNCERTAIN = 5,
}

/**
 * @generated from message livekit.agent.MetricsReport
 */
export declare class MetricsReport extends Message<MetricsReport> {
  /**
   * @generated from field: google.protobuf.Timestamp started_speaking_at = 1;
   */
  startedSpeakingAt?: Timestamp;

  /**
   * @generated from field: google.protobuf.Timestamp stopped_speaking_at = 2;
   */
  stoppedSpeakingAt?: Timestamp;

  /**
   * @generated from field: optional double transcription_delay = 3;
   */
  transcriptionDelay?: number;

  /**
   * @generated from field: optional double end_of_turn_delay = 4;
   */
  endOfTurnDelay?: number;

  /**
   * @generated from field: optional double on_user_turn_completed_delay = 5;
   */
  onUserTurnCompletedDelay?: number;

  /**
   * @generated from field: optional double llm_node_ttft = 6;
   */
  llmNodeTtft?: number;

  /**
   * @generated from field: optional double tts_node_ttfb = 7;
   */
  ttsNodeTtfb?: number;

  /**
   * @generated from field: optional double e2e_latency = 8;
   */
  e2eLatency?: number;

  /**
   * @generated from field: optional double llm_node_tps = 9;
   */
  llmNodeTps?: number;

  /**
   * @generated from field: optional double llm_node_ttfs = 10;
   */
  llmNodeTtfs?: number;

  constructor(data?: PartialMessage<MetricsReport>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.MetricsReport";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): MetricsReport;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): MetricsReport;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): MetricsReport;

  static equals(a: MetricsReport | PlainMessage<MetricsReport> | undefined, b: MetricsReport | PlainMessage<MetricsReport> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.TimedString
 */
export declare class TimedString extends Message<TimedString> {
  /**
   * @generated from field: string text = 1;
   */
  text: string;

  /**
   * @generated from field: optional double start_time = 2;
   */
  startTime?: number;

  /**
   * @generated from field: optional double end_time = 3;
   */
  endTime?: number;

  /**
   * @generated from field: optional double confidence = 4;
   */
  confidence?: number;

  /**
   * @generated from field: optional double start_time_offset = 5;
   */
  startTimeOffset?: number;

  /**
   * @generated from field: optional string speaker_id = 6;
   */
  speakerId?: string;

  constructor(data?: PartialMessage<TimedString>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.TimedString";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TimedString;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TimedString;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TimedString;

  static equals(a: TimedString | PlainMessage<TimedString> | undefined, b: TimedString | PlainMessage<TimedString> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.ChatMessage
 */
export declare class ChatMessage extends Message<ChatMessage> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: livekit.agent.ChatRole role = 2;
   */
  role: ChatRole;

  /**
   * @generated from field: repeated livekit.agent.ChatMessage.ChatContent content = 3;
   */
  content: ChatMessage_ChatContent[];

  /**
   * @generated from field: bool interrupted = 4;
   */
  interrupted: boolean;

  /**
   * @generated from field: optional double transcript_confidence = 5;
   */
  transcriptConfidence?: number;

  /**
   * @generated from field: map<string, string> extra = 6;
   */
  extra: { [key: string]: string };

  /**
   * @generated from field: livekit.agent.MetricsReport metrics = 7;
   */
  metrics?: MetricsReport;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 8;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<ChatMessage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.ChatMessage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChatMessage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChatMessage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChatMessage;

  static equals(a: ChatMessage | PlainMessage<ChatMessage> | undefined, b: ChatMessage | PlainMessage<ChatMessage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.ChatMessage.ChatContent
 */
export declare class ChatMessage_ChatContent extends Message<ChatMessage_ChatContent> {
  /**
   * @generated from oneof livekit.agent.ChatMessage.ChatContent.payload
   */
  payload: {
    /**
     * @generated from field: string text = 1;
     */
    value: string;
    case: "text";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<ChatMessage_ChatContent>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.ChatMessage.ChatContent";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChatMessage_ChatContent;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChatMessage_ChatContent;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChatMessage_ChatContent;

  static equals(a: ChatMessage_ChatContent | PlainMessage<ChatMessage_ChatContent> | undefined, b: ChatMessage_ChatContent | PlainMessage<ChatMessage_ChatContent> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.FunctionCall
 */
export declare class FunctionCall extends Message<FunctionCall> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: string call_id = 2;
   */
  callId: string;

  /**
   * @generated from field: string arguments = 3;
   */
  arguments: string;

  /**
   * @generated from field: string name = 4;
   */
  name: string;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 5;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<FunctionCall>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.FunctionCall";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FunctionCall;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FunctionCall;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FunctionCall;

  static equals(a: FunctionCall | PlainMessage<FunctionCall> | undefined, b: FunctionCall | PlainMessage<FunctionCall> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.FunctionCallOutput
 */
export declare class FunctionCallOutput extends Message<FunctionCallOutput> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: string name = 2;
   */
  name: string;

  /**
   * @generated from field: string call_id = 3;
   */
  callId: string;

  /**
   * @generated from field: string output = 4;
   */
  output: string;

  /**
   * @generated from field: bool is_error = 5;
   */
  isError: boolean;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 6;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<FunctionCallOutput>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.FunctionCallOutput";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FunctionCallOutput;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FunctionCallOutput;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FunctionCallOutput;

  static equals(a: FunctionCallOutput | PlainMessage<FunctionCallOutput> | undefined, b: FunctionCallOutput | PlainMessage<FunctionCallOutput> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentHandoff
 */
export declare class AgentHandoff extends Message<AgentHandoff> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: optional string old_agent_id = 2;
   */
  oldAgentId?: string;

  /**
   * @generated from field: string new_agent_id = 3;
   */
  newAgentId: string;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 4;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<AgentHandoff>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentHandoff";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentHandoff;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentHandoff;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentHandoff;

  static equals(a: AgentHandoff | PlainMessage<AgentHandoff> | undefined, b: AgentHandoff | PlainMessage<AgentHandoff> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentConfigUpdate
 */
export declare class AgentConfigUpdate extends Message<AgentConfigUpdate> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: optional string instructions = 2;
   */
  instructions?: string;

  /**
   * @generated from field: repeated string tools_added = 3;
   */
  toolsAdded: string[];

  /**
   * @generated from field: repeated string tools_removed = 4;
   */
  toolsRemoved: string[];

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 5;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<AgentConfigUpdate>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentConfigUpdate";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentConfigUpdate;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentConfigUpdate;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentConfigUpdate;

  static equals(a: AgentConfigUpdate | PlainMessage<AgentConfigUpdate> | undefined, b: AgentConfigUpdate | PlainMessage<AgentConfigUpdate> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.ChatContext
 */
export declare class ChatContext extends Message<ChatContext> {
  /**
   * @generated from field: repeated livekit.agent.ChatContext.ChatItem items = 1;
   */
  items: ChatContext_ChatItem[];

  constructor(data?: PartialMessage<ChatContext>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.ChatContext";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChatContext;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChatContext;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChatContext;

  static equals(a: ChatContext | PlainMessage<ChatContext> | undefined, b: ChatContext | PlainMessage<ChatContext> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.ChatContext.ChatItem
 */
export declare class ChatContext_ChatItem extends Message<ChatContext_ChatItem> {
  /**
   * @generated from oneof livekit.agent.ChatContext.ChatItem.item
   */
  item: {
    /**
     * @generated from field: livekit.agent.ChatMessage message = 1;
     */
    value: ChatMessage;
    case: "message";
  } | {
    /**
     * @generated from field: livekit.agent.FunctionCall function_call = 2;
     */
    value: FunctionCall;
    case: "functionCall";
  } | {
    /**
     * @generated from field: livekit.agent.FunctionCallOutput function_call_output = 3;
     */
    value: FunctionCallOutput;
    case: "functionCallOutput";
  } | {
    /**
     * @generated from field: livekit.agent.AgentHandoff agent_handoff = 4;
     */
    value: AgentHandoff;
    case: "agentHandoff";
  } | {
    /**
     * @generated from field: livekit.agent.AgentConfigUpdate agent_config_update = 5;
     */
    value: AgentConfigUpdate;
    case: "agentConfigUpdate";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<ChatContext_ChatItem>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.ChatContext.ChatItem";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ChatContext_ChatItem;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ChatContext_ChatItem;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ChatContext_ChatItem;

  static equals(a: ChatContext_ChatItem | PlainMessage<ChatContext_ChatItem> | undefined, b: ChatContext_ChatItem | PlainMessage<ChatContext_ChatItem> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.LLMModelUsage
 */
export declare class LLMModelUsage extends Message<LLMModelUsage> {
  /**
   * @generated from field: string provider = 1;
   */
  provider: string;

  /**
   * @generated from field: string model = 2;
   */
  model: string;

  /**
   * @generated from field: int32 input_tokens = 3;
   */
  inputTokens: number;

  /**
   * @generated from field: int32 input_cached_tokens = 4;
   */
  inputCachedTokens: number;

  /**
   * @generated from field: int32 input_audio_tokens = 5;
   */
  inputAudioTokens: number;

  /**
   * @generated from field: int32 input_cached_audio_tokens = 6;
   */
  inputCachedAudioTokens: number;

  /**
   * @generated from field: int32 input_text_tokens = 7;
   */
  inputTextTokens: number;

  /**
   * @generated from field: int32 input_cached_text_tokens = 8;
   */
  inputCachedTextTokens: number;

  /**
   * @generated from field: int32 input_image_tokens = 9;
   */
  inputImageTokens: number;

  /**
   * @generated from field: int32 input_cached_image_tokens = 10;
   */
  inputCachedImageTokens: number;

  /**
   * @generated from field: int32 output_tokens = 11;
   */
  outputTokens: number;

  /**
   * @generated from field: int32 output_audio_tokens = 12;
   */
  outputAudioTokens: number;

  /**
   * @generated from field: int32 output_text_tokens = 13;
   */
  outputTextTokens: number;

  /**
   * @generated from field: double session_duration = 14;
   */
  sessionDuration: number;

  constructor(data?: PartialMessage<LLMModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.LLMModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): LLMModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): LLMModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): LLMModelUsage;

  static equals(a: LLMModelUsage | PlainMessage<LLMModelUsage> | undefined, b: LLMModelUsage | PlainMessage<LLMModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.TTSModelUsage
 */
export declare class TTSModelUsage extends Message<TTSModelUsage> {
  /**
   * @generated from field: string provider = 1;
   */
  provider: string;

  /**
   * @generated from field: string model = 2;
   */
  model: string;

  /**
   * @generated from field: int32 input_tokens = 3;
   */
  inputTokens: number;

  /**
   * @generated from field: int32 output_tokens = 4;
   */
  outputTokens: number;

  /**
   * @generated from field: int32 characters_count = 5;
   */
  charactersCount: number;

  /**
   * @generated from field: double audio_duration = 6;
   */
  audioDuration: number;

  constructor(data?: PartialMessage<TTSModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.TTSModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TTSModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TTSModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TTSModelUsage;

  static equals(a: TTSModelUsage | PlainMessage<TTSModelUsage> | undefined, b: TTSModelUsage | PlainMessage<TTSModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.STTModelUsage
 */
export declare class STTModelUsage extends Message<STTModelUsage> {
  /**
   * @generated from field: string provider = 1;
   */
  provider: string;

  /**
   * @generated from field: string model = 2;
   */
  model: string;

  /**
   * @generated from field: int32 input_tokens = 3;
   */
  inputTokens: number;

  /**
   * @generated from field: int32 output_tokens = 4;
   */
  outputTokens: number;

  /**
   * @generated from field: double audio_duration = 5;
   */
  audioDuration: number;

  constructor(data?: PartialMessage<STTModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.STTModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): STTModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): STTModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): STTModelUsage;

  static equals(a: STTModelUsage | PlainMessage<STTModelUsage> | undefined, b: STTModelUsage | PlainMessage<STTModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.InterruptionModelUsage
 */
export declare class InterruptionModelUsage extends Message<InterruptionModelUsage> {
  /**
   * @generated from field: string provider = 1;
   */
  provider: string;

  /**
   * @generated from field: string model = 2;
   */
  model: string;

  /**
   * @generated from field: int32 total_requests = 3;
   */
  totalRequests: number;

  constructor(data?: PartialMessage<InterruptionModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.InterruptionModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): InterruptionModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): InterruptionModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): InterruptionModelUsage;

  static equals(a: InterruptionModelUsage | PlainMessage<InterruptionModelUsage> | undefined, b: InterruptionModelUsage | PlainMessage<InterruptionModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.EotModelUsage
 */
export declare class EotModelUsage extends Message<EotModelUsage> {
  /**
   * @generated from field: string provider = 1;
   */
  provider: string;

  /**
   * @generated from field: string model = 2;
   */
  model: string;

  /**
   * @generated from field: int32 total_requests = 3;
   */
  totalRequests: number;

  constructor(data?: PartialMessage<EotModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.EotModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EotModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EotModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EotModelUsage;

  static equals(a: EotModelUsage | PlainMessage<EotModelUsage> | undefined, b: EotModelUsage | PlainMessage<EotModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.ModelUsage
 */
export declare class ModelUsage extends Message<ModelUsage> {
  /**
   * @generated from oneof livekit.agent.ModelUsage.usage
   */
  usage: {
    /**
     * @generated from field: livekit.agent.LLMModelUsage llm = 1;
     */
    value: LLMModelUsage;
    case: "llm";
  } | {
    /**
     * @generated from field: livekit.agent.TTSModelUsage tts = 2;
     */
    value: TTSModelUsage;
    case: "tts";
  } | {
    /**
     * @generated from field: livekit.agent.STTModelUsage stt = 3;
     */
    value: STTModelUsage;
    case: "stt";
  } | {
    /**
     * @generated from field: livekit.agent.InterruptionModelUsage interruption = 4;
     */
    value: InterruptionModelUsage;
    case: "interruption";
  } | {
    /**
     * @generated from field: livekit.agent.EotModelUsage eot = 5;
     */
    value: EotModelUsage;
    case: "eot";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<ModelUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.ModelUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ModelUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ModelUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ModelUsage;

  static equals(a: ModelUsage | PlainMessage<ModelUsage> | undefined, b: ModelUsage | PlainMessage<ModelUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionUsage
 */
export declare class AgentSessionUsage extends Message<AgentSessionUsage> {
  /**
   * @generated from field: repeated livekit.agent.ModelUsage model_usage = 1;
   */
  modelUsage: ModelUsage[];

  constructor(data?: PartialMessage<AgentSessionUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionUsage;

  static equals(a: AgentSessionUsage | PlainMessage<AgentSessionUsage> | undefined, b: AgentSessionUsage | PlainMessage<AgentSessionUsage> | undefined): boolean;
}

/**
 * Debug/trace payload carried over the remote session wire.
 * Internal: surfaced only to the debugger/recorder, not to user code.
 *
 * @generated from message livekit.agent.DebugMessage
 */
export declare class DebugMessage extends Message<DebugMessage> {
  /**
   * @generated from field: google.protobuf.Struct payload = 1;
   */
  payload?: Struct;

  constructor(data?: PartialMessage<DebugMessage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.DebugMessage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DebugMessage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DebugMessage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DebugMessage;

  static equals(a: DebugMessage | PlainMessage<DebugMessage> | undefined, b: DebugMessage | PlainMessage<DebugMessage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent
 */
export declare class AgentSessionEvent extends Message<AgentSessionEvent> {
  /**
   * @generated from field: google.protobuf.Timestamp created_at = 1;
   */
  createdAt?: Timestamp;

  /**
   * @generated from oneof livekit.agent.AgentSessionEvent.event
   */
  event: {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.AgentStateChanged agent_state_changed = 10;
     */
    value: AgentSessionEvent_AgentStateChanged;
    case: "agentStateChanged";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.UserStateChanged user_state_changed = 11;
     */
    value: AgentSessionEvent_UserStateChanged;
    case: "userStateChanged";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ConversationItemAdded conversation_item_added = 12;
     */
    value: AgentSessionEvent_ConversationItemAdded;
    case: "conversationItemAdded";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.UserInputTranscribed user_input_transcribed = 13;
     */
    value: AgentSessionEvent_UserInputTranscribed;
    case: "userInputTranscribed";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.FunctionToolsExecuted function_tools_executed = 14;
     */
    value: AgentSessionEvent_FunctionToolsExecuted;
    case: "functionToolsExecuted";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.Error error = 15;
     */
    value: AgentSessionEvent_Error;
    case: "error";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.OverlappingSpeech overlapping_speech = 16;
     */
    value: AgentSessionEvent_OverlappingSpeech;
    case: "overlappingSpeech";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.SessionUsageUpdated session_usage_updated = 17;
     */
    value: AgentSessionEvent_SessionUsageUpdated;
    case: "sessionUsageUpdated";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.AmdPrediction amd_prediction = 18;
     */
    value: AgentSessionEvent_AmdPrediction;
    case: "amdPrediction";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.EotPrediction eot_prediction = 19;
     */
    value: AgentSessionEvent_EotPrediction;
    case: "eotPrediction";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.FunctionToolsStarted function_tools_started = 20;
     */
    value: AgentSessionEvent_FunctionToolsStarted;
    case: "functionToolsStarted";
  } | {
    /**
     * @generated from field: livekit.agent.DebugMessage debug_message = 21;
     */
    value: DebugMessage;
    case: "debugMessage";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ToolExecutionUpdated tool_execution_updated = 22;
     */
    value: AgentSessionEvent_ToolExecutionUpdated;
    case: "toolExecutionUpdated";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.AgentFalseInterruption agent_false_interruption = 23;
     */
    value: AgentSessionEvent_AgentFalseInterruption;
    case: "agentFalseInterruption";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<AgentSessionEvent>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent;

  static equals(a: AgentSessionEvent | PlainMessage<AgentSessionEvent> | undefined, b: AgentSessionEvent | PlainMessage<AgentSessionEvent> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.AgentStateChanged
 */
export declare class AgentSessionEvent_AgentStateChanged extends Message<AgentSessionEvent_AgentStateChanged> {
  /**
   * @generated from field: livekit.agent.AgentState old_state = 1;
   */
  oldState: AgentState;

  /**
   * @generated from field: livekit.agent.AgentState new_state = 2;
   */
  newState: AgentState;

  constructor(data?: PartialMessage<AgentSessionEvent_AgentStateChanged>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.AgentStateChanged";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_AgentStateChanged;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_AgentStateChanged;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_AgentStateChanged;

  static equals(a: AgentSessionEvent_AgentStateChanged | PlainMessage<AgentSessionEvent_AgentStateChanged> | undefined, b: AgentSessionEvent_AgentStateChanged | PlainMessage<AgentSessionEvent_AgentStateChanged> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.UserStateChanged
 */
export declare class AgentSessionEvent_UserStateChanged extends Message<AgentSessionEvent_UserStateChanged> {
  /**
   * @generated from field: livekit.agent.UserState old_state = 1;
   */
  oldState: UserState;

  /**
   * @generated from field: livekit.agent.UserState new_state = 2;
   */
  newState: UserState;

  constructor(data?: PartialMessage<AgentSessionEvent_UserStateChanged>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.UserStateChanged";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_UserStateChanged;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_UserStateChanged;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_UserStateChanged;

  static equals(a: AgentSessionEvent_UserStateChanged | PlainMessage<AgentSessionEvent_UserStateChanged> | undefined, b: AgentSessionEvent_UserStateChanged | PlainMessage<AgentSessionEvent_UserStateChanged> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.ConversationItemAdded
 */
export declare class AgentSessionEvent_ConversationItemAdded extends Message<AgentSessionEvent_ConversationItemAdded> {
  /**
   * @generated from field: livekit.agent.ChatContext.ChatItem item = 1;
   */
  item?: ChatContext_ChatItem;

  constructor(data?: PartialMessage<AgentSessionEvent_ConversationItemAdded>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ConversationItemAdded";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ConversationItemAdded;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ConversationItemAdded;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ConversationItemAdded;

  static equals(a: AgentSessionEvent_ConversationItemAdded | PlainMessage<AgentSessionEvent_ConversationItemAdded> | undefined, b: AgentSessionEvent_ConversationItemAdded | PlainMessage<AgentSessionEvent_ConversationItemAdded> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.UserInputTranscribed
 */
export declare class AgentSessionEvent_UserInputTranscribed extends Message<AgentSessionEvent_UserInputTranscribed> {
  /**
   * @generated from field: string transcript = 1;
   */
  transcript: string;

  /**
   * @generated from field: bool is_final = 2;
   */
  isFinal: boolean;

  /**
   * @generated from field: optional string language = 3;
   */
  language?: string;

  constructor(data?: PartialMessage<AgentSessionEvent_UserInputTranscribed>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.UserInputTranscribed";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_UserInputTranscribed;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_UserInputTranscribed;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_UserInputTranscribed;

  static equals(a: AgentSessionEvent_UserInputTranscribed | PlainMessage<AgentSessionEvent_UserInputTranscribed> | undefined, b: AgentSessionEvent_UserInputTranscribed | PlainMessage<AgentSessionEvent_UserInputTranscribed> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.FunctionToolsStarted
 */
export declare class AgentSessionEvent_FunctionToolsStarted extends Message<AgentSessionEvent_FunctionToolsStarted> {
  /**
   * @generated from field: repeated livekit.agent.FunctionCall function_calls = 1;
   */
  functionCalls: FunctionCall[];

  constructor(data?: PartialMessage<AgentSessionEvent_FunctionToolsStarted>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.FunctionToolsStarted";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_FunctionToolsStarted;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_FunctionToolsStarted;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_FunctionToolsStarted;

  static equals(a: AgentSessionEvent_FunctionToolsStarted | PlainMessage<AgentSessionEvent_FunctionToolsStarted> | undefined, b: AgentSessionEvent_FunctionToolsStarted | PlainMessage<AgentSessionEvent_FunctionToolsStarted> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.FunctionToolsExecuted
 */
export declare class AgentSessionEvent_FunctionToolsExecuted extends Message<AgentSessionEvent_FunctionToolsExecuted> {
  /**
   * @generated from field: repeated livekit.agent.FunctionCall function_calls = 1;
   */
  functionCalls: FunctionCall[];

  /**
   * @generated from field: repeated livekit.agent.FunctionCallOutput function_call_outputs = 2;
   */
  functionCallOutputs: FunctionCallOutput[];

  constructor(data?: PartialMessage<AgentSessionEvent_FunctionToolsExecuted>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.FunctionToolsExecuted";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_FunctionToolsExecuted;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_FunctionToolsExecuted;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_FunctionToolsExecuted;

  static equals(a: AgentSessionEvent_FunctionToolsExecuted | PlainMessage<AgentSessionEvent_FunctionToolsExecuted> | undefined, b: AgentSessionEvent_FunctionToolsExecuted | PlainMessage<AgentSessionEvent_FunctionToolsExecuted> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.Error
 */
export declare class AgentSessionEvent_Error extends Message<AgentSessionEvent_Error> {
  /**
   * @generated from field: string message = 1;
   */
  message: string;

  constructor(data?: PartialMessage<AgentSessionEvent_Error>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.Error";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_Error;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_Error;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_Error;

  static equals(a: AgentSessionEvent_Error | PlainMessage<AgentSessionEvent_Error> | undefined, b: AgentSessionEvent_Error | PlainMessage<AgentSessionEvent_Error> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.OverlappingSpeech
 */
export declare class AgentSessionEvent_OverlappingSpeech extends Message<AgentSessionEvent_OverlappingSpeech> {
  /**
   * @generated from field: bool is_interruption = 1;
   */
  isInterruption: boolean;

  /**
   * @generated from field: optional google.protobuf.Timestamp overlap_started_at = 2;
   */
  overlapStartedAt?: Timestamp;

  /**
   * @generated from field: double detection_delay = 3;
   */
  detectionDelay: number;

  /**
   * @generated from field: google.protobuf.Timestamp detected_at = 4;
   */
  detectedAt?: Timestamp;

  constructor(data?: PartialMessage<AgentSessionEvent_OverlappingSpeech>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.OverlappingSpeech";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_OverlappingSpeech;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_OverlappingSpeech;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_OverlappingSpeech;

  static equals(a: AgentSessionEvent_OverlappingSpeech | PlainMessage<AgentSessionEvent_OverlappingSpeech> | undefined, b: AgentSessionEvent_OverlappingSpeech | PlainMessage<AgentSessionEvent_OverlappingSpeech> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.AmdPrediction
 */
export declare class AgentSessionEvent_AmdPrediction extends Message<AgentSessionEvent_AmdPrediction> {
  /**
   * @generated from field: google.protobuf.Duration speech_duration = 1;
   */
  speechDuration?: Duration;

  /**
   * @generated from field: livekit.agent.AmdCategory category = 2;
   */
  category: AmdCategory;

  /**
   * @generated from field: string reason = 3;
   */
  reason: string;

  /**
   * @generated from field: string transcript = 4;
   */
  transcript: string;

  /**
   * @generated from field: google.protobuf.Duration delay = 5;
   */
  delay?: Duration;

  constructor(data?: PartialMessage<AgentSessionEvent_AmdPrediction>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.AmdPrediction";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_AmdPrediction;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_AmdPrediction;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_AmdPrediction;

  static equals(a: AgentSessionEvent_AmdPrediction | PlainMessage<AgentSessionEvent_AmdPrediction> | undefined, b: AgentSessionEvent_AmdPrediction | PlainMessage<AgentSessionEvent_AmdPrediction> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.EotPrediction
 */
export declare class AgentSessionEvent_EotPrediction extends Message<AgentSessionEvent_EotPrediction> {
  /**
   * @generated from field: float probability = 1;
   */
  probability: number;

  /**
   * @generated from field: float threshold = 2;
   */
  threshold: number;

  /**
   * @generated from field: google.protobuf.Duration inference_duration = 3;
   */
  inferenceDuration?: Duration;

  /**
   * @generated from field: google.protobuf.Duration delay = 4;
   */
  delay?: Duration;

  constructor(data?: PartialMessage<AgentSessionEvent_EotPrediction>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.EotPrediction";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_EotPrediction;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_EotPrediction;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_EotPrediction;

  static equals(a: AgentSessionEvent_EotPrediction | PlainMessage<AgentSessionEvent_EotPrediction> | undefined, b: AgentSessionEvent_EotPrediction | PlainMessage<AgentSessionEvent_EotPrediction> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.SessionUsageUpdated
 */
export declare class AgentSessionEvent_SessionUsageUpdated extends Message<AgentSessionEvent_SessionUsageUpdated> {
  /**
   * @generated from field: livekit.agent.AgentSessionUsage usage = 1;
   */
  usage?: AgentSessionUsage;

  constructor(data?: PartialMessage<AgentSessionEvent_SessionUsageUpdated>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.SessionUsageUpdated";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_SessionUsageUpdated;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_SessionUsageUpdated;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_SessionUsageUpdated;

  static equals(a: AgentSessionEvent_SessionUsageUpdated | PlainMessage<AgentSessionEvent_SessionUsageUpdated> | undefined, b: AgentSessionEvent_SessionUsageUpdated | PlainMessage<AgentSessionEvent_SessionUsageUpdated> | undefined): boolean;
}

/**
 * Per-call tool lifecycle. One flat update per occurrence: a call started ->
 * progress updates while it runs (CallUpdated) -> the single terminal entry (Ended),
 * with the deferred reply voicing buffered updates advancing separately (ReplyUpdated).
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated
 */
export declare class AgentSessionEvent_ToolExecutionUpdated extends Message<AgentSessionEvent_ToolExecutionUpdated> {
  /**
   * @generated from oneof livekit.agent.AgentSessionEvent.ToolExecutionUpdated.update
   */
  update: {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started started = 1;
     */
    value: AgentSessionEvent_ToolExecutionUpdated_Started;
    case: "started";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated call_updated = 2;
     */
    value: AgentSessionEvent_ToolExecutionUpdated_CallUpdated;
    case: "callUpdated";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated reply_updated = 3;
     */
    value: AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated;
    case: "replyUpdated";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended ended = 4;
     */
    value: AgentSessionEvent_ToolExecutionUpdated_Ended;
    case: "ended";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<AgentSessionEvent_ToolExecutionUpdated>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ToolExecutionUpdated";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ToolExecutionUpdated;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated;

  static equals(a: AgentSessionEvent_ToolExecutionUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated> | undefined, b: AgentSessionEvent_ToolExecutionUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started
 */
export declare class AgentSessionEvent_ToolExecutionUpdated_Started extends Message<AgentSessionEvent_ToolExecutionUpdated_Started> {
  /**
   * @generated from field: livekit.agent.FunctionCall function_call = 1;
   */
  functionCall?: FunctionCall;

  constructor(data?: PartialMessage<AgentSessionEvent_ToolExecutionUpdated_Started>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Started";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Started;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Started;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Started;

  static equals(a: AgentSessionEvent_ToolExecutionUpdated_Started | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_Started> | undefined, b: AgentSessionEvent_ToolExecutionUpdated_Started | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_Started> | undefined): boolean;
}

/**
 * a progress update emitted via ctx.update() while the call runs
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated
 */
export declare class AgentSessionEvent_ToolExecutionUpdated_CallUpdated extends Message<AgentSessionEvent_ToolExecutionUpdated_CallUpdated> {
  /**
   * synthetic id: call_id (inline) or call_id_update_N
   *
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: string call_id = 2;
   */
  callId: string;

  /**
   * @generated from field: string message = 3;
   */
  message: string;

  constructor(data?: PartialMessage<AgentSessionEvent_ToolExecutionUpdated_CallUpdated>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.CallUpdated";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ToolExecutionUpdated_CallUpdated;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_CallUpdated;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_CallUpdated;

  static equals(a: AgentSessionEvent_ToolExecutionUpdated_CallUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_CallUpdated> | undefined, b: AgentSessionEvent_ToolExecutionUpdated_CallUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_CallUpdated> | undefined): boolean;
}

/**
 * the call's single terminal entry
 *
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended
 */
export declare class AgentSessionEvent_ToolExecutionUpdated_Ended extends Message<AgentSessionEvent_ToolExecutionUpdated_Ended> {
  /**
   * synthetic id: call_id (inline) or call_id_final (deferred)
   *
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: string call_id = 2;
   */
  callId: string;

  /**
   * result text or error message; unset for cancelled / empty returns
   *
   * @generated from field: optional string message = 3;
   */
  message?: string;

  /**
   * TC_DONE, TC_ERROR, or TC_CANCELLED
   *
   * @generated from field: livekit.agent.ToolCallStatus status = 4;
   */
  status: ToolCallStatus;

  constructor(data?: PartialMessage<AgentSessionEvent_ToolExecutionUpdated_Ended>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.Ended";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Ended;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Ended;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_Ended;

  static equals(a: AgentSessionEvent_ToolExecutionUpdated_Ended | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_Ended> | undefined, b: AgentSessionEvent_ToolExecutionUpdated_Ended | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_Ended> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated
 */
export declare class AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated extends Message<AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated> {
  /**
   * buffered update ids covered by this reply; one reply can span calls
   *
   * @generated from field: repeated string update_ids = 1;
   */
  updateIds: string[];

  /**
   * @generated from field: livekit.agent.ToolReplyStatus status = 2;
   */
  status: ToolReplyStatus;

  /**
   * id of the speech that voices this reply
   *
   * @generated from field: string speech_id = 3;
   */
  speechId: string;

  constructor(data?: PartialMessage<AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.ToolExecutionUpdated.ReplyUpdated";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated;

  static equals(a: AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated> | undefined, b: AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated | PlainMessage<AgentSessionEvent_ToolExecutionUpdated_ReplyUpdated> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionEvent.AgentFalseInterruption
 */
export declare class AgentSessionEvent_AgentFalseInterruption extends Message<AgentSessionEvent_AgentFalseInterruption> {
  /**
   * Agent paused its own speech for what turned out not to be a real interruption (a backchannel, brief noise, etc.).
   *
   * @generated from field: bool resumed = 1;
   */
  resumed: boolean;

  constructor(data?: PartialMessage<AgentSessionEvent_AgentFalseInterruption>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionEvent.AgentFalseInterruption";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionEvent_AgentFalseInterruption;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionEvent_AgentFalseInterruption;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionEvent_AgentFalseInterruption;

  static equals(a: AgentSessionEvent_AgentFalseInterruption | PlainMessage<AgentSessionEvent_AgentFalseInterruption> | undefined, b: AgentSessionEvent_AgentFalseInterruption | PlainMessage<AgentSessionEvent_AgentFalseInterruption> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest
 */
export declare class SessionRequest extends Message<SessionRequest> {
  /**
   * @generated from field: string request_id = 1;
   */
  requestId: string;

  /**
   * @generated from oneof livekit.agent.SessionRequest.request
   */
  request: {
    /**
     * @generated from field: livekit.agent.SessionRequest.Ping ping = 2;
     */
    value: SessionRequest_Ping;
    case: "ping";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetChatHistory get_chat_history = 4;
     */
    value: SessionRequest_GetChatHistory;
    case: "getChatHistory";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.RunInput run_input = 5;
     */
    value: SessionRequest_RunInput;
    case: "runInput";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetAgentInfo get_agent_info = 6;
     */
    value: SessionRequest_GetAgentInfo;
    case: "getAgentInfo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetSessionState get_session_state = 7;
     */
    value: SessionRequest_GetSessionState;
    case: "getSessionState";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetRTCStats get_rtc_stats = 8;
     */
    value: SessionRequest_GetRTCStats;
    case: "getRtcStats";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetSessionUsage get_session_usage = 9;
     */
    value: SessionRequest_GetSessionUsage;
    case: "getSessionUsage";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.GetFrameworkInfo get_framework_info = 10;
     */
    value: SessionRequest_GetFrameworkInfo;
    case: "getFrameworkInfo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.UpdateIO update_io = 11;
     */
    value: SessionRequest_UpdateIO;
    case: "updateIo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest.FinalizeSimulation finalize_simulation = 12;
     */
    value: SessionRequest_FinalizeSimulation;
    case: "finalizeSimulation";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<SessionRequest>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest;

  static equals(a: SessionRequest | PlainMessage<SessionRequest> | undefined, b: SessionRequest | PlainMessage<SessionRequest> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.Ping
 */
export declare class SessionRequest_Ping extends Message<SessionRequest_Ping> {
  constructor(data?: PartialMessage<SessionRequest_Ping>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.Ping";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_Ping;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_Ping;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_Ping;

  static equals(a: SessionRequest_Ping | PlainMessage<SessionRequest_Ping> | undefined, b: SessionRequest_Ping | PlainMessage<SessionRequest_Ping> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetChatHistory
 */
export declare class SessionRequest_GetChatHistory extends Message<SessionRequest_GetChatHistory> {
  constructor(data?: PartialMessage<SessionRequest_GetChatHistory>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetChatHistory";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetChatHistory;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetChatHistory;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetChatHistory;

  static equals(a: SessionRequest_GetChatHistory | PlainMessage<SessionRequest_GetChatHistory> | undefined, b: SessionRequest_GetChatHistory | PlainMessage<SessionRequest_GetChatHistory> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.RunInput
 */
export declare class SessionRequest_RunInput extends Message<SessionRequest_RunInput> {
  /**
   * @generated from field: string text = 1;
   */
  text: string;

  constructor(data?: PartialMessage<SessionRequest_RunInput>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.RunInput";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_RunInput;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_RunInput;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_RunInput;

  static equals(a: SessionRequest_RunInput | PlainMessage<SessionRequest_RunInput> | undefined, b: SessionRequest_RunInput | PlainMessage<SessionRequest_RunInput> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetAgentInfo
 */
export declare class SessionRequest_GetAgentInfo extends Message<SessionRequest_GetAgentInfo> {
  constructor(data?: PartialMessage<SessionRequest_GetAgentInfo>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetAgentInfo";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetAgentInfo;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetAgentInfo;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetAgentInfo;

  static equals(a: SessionRequest_GetAgentInfo | PlainMessage<SessionRequest_GetAgentInfo> | undefined, b: SessionRequest_GetAgentInfo | PlainMessage<SessionRequest_GetAgentInfo> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetSessionState
 */
export declare class SessionRequest_GetSessionState extends Message<SessionRequest_GetSessionState> {
  constructor(data?: PartialMessage<SessionRequest_GetSessionState>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetSessionState";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetSessionState;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetSessionState;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetSessionState;

  static equals(a: SessionRequest_GetSessionState | PlainMessage<SessionRequest_GetSessionState> | undefined, b: SessionRequest_GetSessionState | PlainMessage<SessionRequest_GetSessionState> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetRTCStats
 */
export declare class SessionRequest_GetRTCStats extends Message<SessionRequest_GetRTCStats> {
  constructor(data?: PartialMessage<SessionRequest_GetRTCStats>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetRTCStats";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetRTCStats;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetRTCStats;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetRTCStats;

  static equals(a: SessionRequest_GetRTCStats | PlainMessage<SessionRequest_GetRTCStats> | undefined, b: SessionRequest_GetRTCStats | PlainMessage<SessionRequest_GetRTCStats> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetSessionUsage
 */
export declare class SessionRequest_GetSessionUsage extends Message<SessionRequest_GetSessionUsage> {
  constructor(data?: PartialMessage<SessionRequest_GetSessionUsage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetSessionUsage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetSessionUsage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetSessionUsage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetSessionUsage;

  static equals(a: SessionRequest_GetSessionUsage | PlainMessage<SessionRequest_GetSessionUsage> | undefined, b: SessionRequest_GetSessionUsage | PlainMessage<SessionRequest_GetSessionUsage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.GetFrameworkInfo
 */
export declare class SessionRequest_GetFrameworkInfo extends Message<SessionRequest_GetFrameworkInfo> {
  constructor(data?: PartialMessage<SessionRequest_GetFrameworkInfo>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.GetFrameworkInfo";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_GetFrameworkInfo;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_GetFrameworkInfo;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_GetFrameworkInfo;

  static equals(a: SessionRequest_GetFrameworkInfo | PlainMessage<SessionRequest_GetFrameworkInfo> | undefined, b: SessionRequest_GetFrameworkInfo | PlainMessage<SessionRequest_GetFrameworkInfo> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO
 */
export declare class SessionRequest_UpdateIO extends Message<SessionRequest_UpdateIO> {
  /**
   * @generated from field: optional livekit.agent.SessionRequest.UpdateIO.Input input = 1;
   */
  input?: SessionRequest_UpdateIO_Input;

  /**
   * @generated from field: optional livekit.agent.SessionRequest.UpdateIO.Output output = 2;
   */
  output?: SessionRequest_UpdateIO_Output;

  constructor(data?: PartialMessage<SessionRequest_UpdateIO>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.UpdateIO";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_UpdateIO;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO;

  static equals(a: SessionRequest_UpdateIO | PlainMessage<SessionRequest_UpdateIO> | undefined, b: SessionRequest_UpdateIO | PlainMessage<SessionRequest_UpdateIO> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO.Input
 */
export declare class SessionRequest_UpdateIO_Input extends Message<SessionRequest_UpdateIO_Input> {
  /**
   * @generated from field: optional bool audio_enabled = 1;
   */
  audioEnabled?: boolean;

  /**
   * @generated from field: optional bool video_enabled = 2;
   */
  videoEnabled?: boolean;

  constructor(data?: PartialMessage<SessionRequest_UpdateIO_Input>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.UpdateIO.Input";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_UpdateIO_Input;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO_Input;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO_Input;

  static equals(a: SessionRequest_UpdateIO_Input | PlainMessage<SessionRequest_UpdateIO_Input> | undefined, b: SessionRequest_UpdateIO_Input | PlainMessage<SessionRequest_UpdateIO_Input> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.UpdateIO.Output
 */
export declare class SessionRequest_UpdateIO_Output extends Message<SessionRequest_UpdateIO_Output> {
  /**
   * @generated from field: optional bool audio_enabled = 1;
   */
  audioEnabled?: boolean;

  /**
   * @generated from field: optional bool video_enabled = 2;
   */
  videoEnabled?: boolean;

  /**
   * @generated from field: optional bool transcription_enabled = 3;
   */
  transcriptionEnabled?: boolean;

  constructor(data?: PartialMessage<SessionRequest_UpdateIO_Output>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.UpdateIO.Output";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_UpdateIO_Output;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO_Output;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_UpdateIO_Output;

  static equals(a: SessionRequest_UpdateIO_Output | PlainMessage<SessionRequest_UpdateIO_Output> | undefined, b: SessionRequest_UpdateIO_Output | PlainMessage<SessionRequest_UpdateIO_Output> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionRequest.FinalizeSimulation
 */
export declare class SessionRequest_FinalizeSimulation extends Message<SessionRequest_FinalizeSimulation> {
  /**
   * @generated from field: bool provisional_success = 1;
   */
  provisionalSuccess: boolean;

  /**
   * @generated from field: string provisional_reason = 2;
   */
  provisionalReason: string;

  constructor(data?: PartialMessage<SessionRequest_FinalizeSimulation>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionRequest.FinalizeSimulation";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionRequest_FinalizeSimulation;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionRequest_FinalizeSimulation;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionRequest_FinalizeSimulation;

  static equals(a: SessionRequest_FinalizeSimulation | PlainMessage<SessionRequest_FinalizeSimulation> | undefined, b: SessionRequest_FinalizeSimulation | PlainMessage<SessionRequest_FinalizeSimulation> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse
 */
export declare class SessionResponse extends Message<SessionResponse> {
  /**
   * @generated from field: string request_id = 1;
   */
  requestId: string;

  /**
   * @generated from field: optional string error = 2;
   */
  error?: string;

  /**
   * @generated from oneof livekit.agent.SessionResponse.response
   */
  response: {
    /**
     * @generated from field: livekit.agent.SessionResponse.Pong pong = 3;
     */
    value: SessionResponse_Pong;
    case: "pong";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetChatHistoryResponse get_chat_history = 5;
     */
    value: SessionResponse_GetChatHistoryResponse;
    case: "getChatHistory";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.RunInputResponse run_input = 6;
     */
    value: SessionResponse_RunInputResponse;
    case: "runInput";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetAgentInfoResponse get_agent_info = 7;
     */
    value: SessionResponse_GetAgentInfoResponse;
    case: "getAgentInfo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetSessionStateResponse get_session_state = 8;
     */
    value: SessionResponse_GetSessionStateResponse;
    case: "getSessionState";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetRTCStatsResponse get_rtc_stats = 9;
     */
    value: SessionResponse_GetRTCStatsResponse;
    case: "getRtcStats";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetSessionUsageResponse get_session_usage = 10;
     */
    value: SessionResponse_GetSessionUsageResponse;
    case: "getSessionUsage";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.GetFrameworkInfoResponse get_framework_info = 11;
     */
    value: SessionResponse_GetFrameworkInfoResponse;
    case: "getFrameworkInfo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.UpdateIOResponse update_io = 12;
     */
    value: SessionResponse_UpdateIOResponse;
    case: "updateIo";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse.FinalizeSimulationResponse finalize_simulation = 13;
     */
    value: SessionResponse_FinalizeSimulationResponse;
    case: "finalizeSimulation";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<SessionResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse;

  static equals(a: SessionResponse | PlainMessage<SessionResponse> | undefined, b: SessionResponse | PlainMessage<SessionResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.Pong
 */
export declare class SessionResponse_Pong extends Message<SessionResponse_Pong> {
  constructor(data?: PartialMessage<SessionResponse_Pong>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.Pong";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_Pong;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_Pong;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_Pong;

  static equals(a: SessionResponse_Pong | PlainMessage<SessionResponse_Pong> | undefined, b: SessionResponse_Pong | PlainMessage<SessionResponse_Pong> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetChatHistoryResponse
 */
export declare class SessionResponse_GetChatHistoryResponse extends Message<SessionResponse_GetChatHistoryResponse> {
  /**
   * @generated from field: repeated livekit.agent.ChatContext.ChatItem items = 1;
   */
  items: ChatContext_ChatItem[];

  constructor(data?: PartialMessage<SessionResponse_GetChatHistoryResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetChatHistoryResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetChatHistoryResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetChatHistoryResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetChatHistoryResponse;

  static equals(a: SessionResponse_GetChatHistoryResponse | PlainMessage<SessionResponse_GetChatHistoryResponse> | undefined, b: SessionResponse_GetChatHistoryResponse | PlainMessage<SessionResponse_GetChatHistoryResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetAgentInfoResponse
 */
export declare class SessionResponse_GetAgentInfoResponse extends Message<SessionResponse_GetAgentInfoResponse> {
  /**
   * @generated from field: string id = 1;
   */
  id: string;

  /**
   * @generated from field: optional string instructions = 2;
   */
  instructions?: string;

  /**
   * @generated from field: repeated string tools = 3;
   */
  tools: string[];

  /**
   * @generated from field: repeated livekit.agent.ChatContext.ChatItem chat_ctx = 4;
   */
  chatCtx: ChatContext_ChatItem[];

  constructor(data?: PartialMessage<SessionResponse_GetAgentInfoResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetAgentInfoResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetAgentInfoResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetAgentInfoResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetAgentInfoResponse;

  static equals(a: SessionResponse_GetAgentInfoResponse | PlainMessage<SessionResponse_GetAgentInfoResponse> | undefined, b: SessionResponse_GetAgentInfoResponse | PlainMessage<SessionResponse_GetAgentInfoResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.RunInputResponse
 */
export declare class SessionResponse_RunInputResponse extends Message<SessionResponse_RunInputResponse> {
  /**
   * @generated from field: repeated livekit.agent.ChatContext.ChatItem items = 1;
   */
  items: ChatContext_ChatItem[];

  constructor(data?: PartialMessage<SessionResponse_RunInputResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.RunInputResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_RunInputResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_RunInputResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_RunInputResponse;

  static equals(a: SessionResponse_RunInputResponse | PlainMessage<SessionResponse_RunInputResponse> | undefined, b: SessionResponse_RunInputResponse | PlainMessage<SessionResponse_RunInputResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetSessionStateResponse
 */
export declare class SessionResponse_GetSessionStateResponse extends Message<SessionResponse_GetSessionStateResponse> {
  /**
   * @generated from field: livekit.agent.AgentState agent_state = 1;
   */
  agentState: AgentState;

  /**
   * @generated from field: livekit.agent.UserState user_state = 2;
   */
  userState: UserState;

  /**
   * @generated from field: string agent_id = 3;
   */
  agentId: string;

  /**
   * @generated from field: map<string, string> options = 4;
   */
  options: { [key: string]: string };

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 5;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<SessionResponse_GetSessionStateResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetSessionStateResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetSessionStateResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetSessionStateResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetSessionStateResponse;

  static equals(a: SessionResponse_GetSessionStateResponse | PlainMessage<SessionResponse_GetSessionStateResponse> | undefined, b: SessionResponse_GetSessionStateResponse | PlainMessage<SessionResponse_GetSessionStateResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetRTCStatsResponse
 */
export declare class SessionResponse_GetRTCStatsResponse extends Message<SessionResponse_GetRTCStatsResponse> {
  /**
   * @generated from field: repeated google.protobuf.Struct publisher_stats = 1;
   */
  publisherStats: Struct[];

  /**
   * @generated from field: repeated google.protobuf.Struct subscriber_stats = 2;
   */
  subscriberStats: Struct[];

  constructor(data?: PartialMessage<SessionResponse_GetRTCStatsResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetRTCStatsResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetRTCStatsResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetRTCStatsResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetRTCStatsResponse;

  static equals(a: SessionResponse_GetRTCStatsResponse | PlainMessage<SessionResponse_GetRTCStatsResponse> | undefined, b: SessionResponse_GetRTCStatsResponse | PlainMessage<SessionResponse_GetRTCStatsResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetSessionUsageResponse
 */
export declare class SessionResponse_GetSessionUsageResponse extends Message<SessionResponse_GetSessionUsageResponse> {
  /**
   * @generated from field: livekit.agent.AgentSessionUsage usage = 1;
   */
  usage?: AgentSessionUsage;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 2;
   */
  createdAt?: Timestamp;

  constructor(data?: PartialMessage<SessionResponse_GetSessionUsageResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetSessionUsageResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetSessionUsageResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetSessionUsageResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetSessionUsageResponse;

  static equals(a: SessionResponse_GetSessionUsageResponse | PlainMessage<SessionResponse_GetSessionUsageResponse> | undefined, b: SessionResponse_GetSessionUsageResponse | PlainMessage<SessionResponse_GetSessionUsageResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.GetFrameworkInfoResponse
 */
export declare class SessionResponse_GetFrameworkInfoResponse extends Message<SessionResponse_GetFrameworkInfoResponse> {
  /**
   * @generated from field: string sdk = 1;
   */
  sdk: string;

  /**
   * @generated from field: string sdk_version = 2;
   */
  sdkVersion: string;

  constructor(data?: PartialMessage<SessionResponse_GetFrameworkInfoResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.GetFrameworkInfoResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_GetFrameworkInfoResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_GetFrameworkInfoResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_GetFrameworkInfoResponse;

  static equals(a: SessionResponse_GetFrameworkInfoResponse | PlainMessage<SessionResponse_GetFrameworkInfoResponse> | undefined, b: SessionResponse_GetFrameworkInfoResponse | PlainMessage<SessionResponse_GetFrameworkInfoResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.UpdateIOResponse
 */
export declare class SessionResponse_UpdateIOResponse extends Message<SessionResponse_UpdateIOResponse> {
  constructor(data?: PartialMessage<SessionResponse_UpdateIOResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.UpdateIOResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_UpdateIOResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_UpdateIOResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_UpdateIOResponse;

  static equals(a: SessionResponse_UpdateIOResponse | PlainMessage<SessionResponse_UpdateIOResponse> | undefined, b: SessionResponse_UpdateIOResponse | PlainMessage<SessionResponse_UpdateIOResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.FinalizeSimulationResponse
 */
export declare class SessionResponse_FinalizeSimulationResponse extends Message<SessionResponse_FinalizeSimulationResponse> {
  /**
   * @generated from field: livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict user_verdict = 1;
   */
  userVerdict?: SessionResponse_FinalizeSimulationResponse_SimulationVerdict;

  constructor(data?: PartialMessage<SessionResponse_FinalizeSimulationResponse>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.FinalizeSimulationResponse";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_FinalizeSimulationResponse;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_FinalizeSimulationResponse;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_FinalizeSimulationResponse;

  static equals(a: SessionResponse_FinalizeSimulationResponse | PlainMessage<SessionResponse_FinalizeSimulationResponse> | undefined, b: SessionResponse_FinalizeSimulationResponse | PlainMessage<SessionResponse_FinalizeSimulationResponse> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict
 */
export declare class SessionResponse_FinalizeSimulationResponse_SimulationVerdict extends Message<SessionResponse_FinalizeSimulationResponse_SimulationVerdict> {
  /**
   * @generated from field: bool success = 1;
   */
  success: boolean;

  /**
   * @generated from field: string reason = 2;
   */
  reason: string;

  constructor(data?: PartialMessage<SessionResponse_FinalizeSimulationResponse_SimulationVerdict>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.SessionResponse.FinalizeSimulationResponse.SimulationVerdict";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SessionResponse_FinalizeSimulationResponse_SimulationVerdict;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SessionResponse_FinalizeSimulationResponse_SimulationVerdict;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SessionResponse_FinalizeSimulationResponse_SimulationVerdict;

  static equals(a: SessionResponse_FinalizeSimulationResponse_SimulationVerdict | PlainMessage<SessionResponse_FinalizeSimulationResponse_SimulationVerdict> | undefined, b: SessionResponse_FinalizeSimulationResponse_SimulationVerdict | PlainMessage<SessionResponse_FinalizeSimulationResponse_SimulationVerdict> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage
 */
export declare class AgentSessionMessage extends Message<AgentSessionMessage> {
  /**
   * @generated from oneof livekit.agent.AgentSessionMessage.message
   */
  message: {
    /**
     * @generated from field: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame audio_input = 1;
     */
    value: AgentSessionMessage_ConsoleIO_AudioFrame;
    case: "audioInput";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame audio_output = 2;
     */
    value: AgentSessionMessage_ConsoleIO_AudioFrame;
    case: "audioOutput";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionEvent event = 3;
     */
    value: AgentSessionEvent;
    case: "event";
  } | {
    /**
     * @generated from field: livekit.agent.SessionRequest request = 4;
     */
    value: SessionRequest;
    case: "request";
  } | {
    /**
     * @generated from field: livekit.agent.SessionResponse response = 5;
     */
    value: SessionResponse;
    case: "response";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush audio_playback_flush = 6;
     */
    value: AgentSessionMessage_ConsoleIO_AudioPlaybackFlush;
    case: "audioPlaybackFlush";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear audio_playback_clear = 7;
     */
    value: AgentSessionMessage_ConsoleIO_AudioPlaybackClear;
    case: "audioPlaybackClear";
  } | {
    /**
     * @generated from field: livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished audio_playback_finished = 8;
     */
    value: AgentSessionMessage_ConsoleIO_AudioPlaybackFinished;
    case: "audioPlaybackFinished";
  } | { case: undefined; value?: undefined };

  constructor(data?: PartialMessage<AgentSessionMessage>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage;

  static equals(a: AgentSessionMessage | PlainMessage<AgentSessionMessage> | undefined, b: AgentSessionMessage | PlainMessage<AgentSessionMessage> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO
 */
export declare class AgentSessionMessage_ConsoleIO extends Message<AgentSessionMessage_ConsoleIO> {
  constructor(data?: PartialMessage<AgentSessionMessage_ConsoleIO>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage.ConsoleIO";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage_ConsoleIO;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO;

  static equals(a: AgentSessionMessage_ConsoleIO | PlainMessage<AgentSessionMessage_ConsoleIO> | undefined, b: AgentSessionMessage_ConsoleIO | PlainMessage<AgentSessionMessage_ConsoleIO> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame
 */
export declare class AgentSessionMessage_ConsoleIO_AudioFrame extends Message<AgentSessionMessage_ConsoleIO_AudioFrame> {
  /**
   * @generated from field: bytes data = 1;
   */
  data: Uint8Array;

  /**
   * @generated from field: uint32 sample_rate = 2;
   */
  sampleRate: number;

  /**
   * @generated from field: uint32 num_channels = 3;
   */
  numChannels: number;

  /**
   * @generated from field: uint32 samples_per_channel = 4;
   */
  samplesPerChannel: number;

  constructor(data?: PartialMessage<AgentSessionMessage_ConsoleIO_AudioFrame>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage.ConsoleIO.AudioFrame";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage_ConsoleIO_AudioFrame;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioFrame;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioFrame;

  static equals(a: AgentSessionMessage_ConsoleIO_AudioFrame | PlainMessage<AgentSessionMessage_ConsoleIO_AudioFrame> | undefined, b: AgentSessionMessage_ConsoleIO_AudioFrame | PlainMessage<AgentSessionMessage_ConsoleIO_AudioFrame> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush
 */
export declare class AgentSessionMessage_ConsoleIO_AudioPlaybackFlush extends Message<AgentSessionMessage_ConsoleIO_AudioPlaybackFlush> {
  constructor(data?: PartialMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFlush>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFlush";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFlush;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFlush;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFlush;

  static equals(a: AgentSessionMessage_ConsoleIO_AudioPlaybackFlush | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFlush> | undefined, b: AgentSessionMessage_ConsoleIO_AudioPlaybackFlush | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFlush> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear
 */
export declare class AgentSessionMessage_ConsoleIO_AudioPlaybackClear extends Message<AgentSessionMessage_ConsoleIO_AudioPlaybackClear> {
  constructor(data?: PartialMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackClear>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackClear";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackClear;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackClear;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackClear;

  static equals(a: AgentSessionMessage_ConsoleIO_AudioPlaybackClear | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackClear> | undefined, b: AgentSessionMessage_ConsoleIO_AudioPlaybackClear | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackClear> | undefined): boolean;
}

/**
 * @generated from message livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished
 */
export declare class AgentSessionMessage_ConsoleIO_AudioPlaybackFinished extends Message<AgentSessionMessage_ConsoleIO_AudioPlaybackFinished> {
  constructor(data?: PartialMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFinished>);

  static readonly runtime: typeof proto3;
  static readonly typeName = "livekit.agent.AgentSessionMessage.ConsoleIO.AudioPlaybackFinished";
  static readonly fields: FieldList;

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFinished;

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFinished;

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AgentSessionMessage_ConsoleIO_AudioPlaybackFinished;

  static equals(a: AgentSessionMessage_ConsoleIO_AudioPlaybackFinished | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFinished> | undefined, b: AgentSessionMessage_ConsoleIO_AudioPlaybackFinished | PlainMessage<AgentSessionMessage_ConsoleIO_AudioPlaybackFinished> | undefined): boolean;
}

