import { StandardSchemaV1 } from "@standard-schema/spec"; type A2AAgentCapabilities = { streaming?: boolean | undefined; pushNotifications?: boolean | undefined; extensions?: Array<{ uri: string; description?: string | undefined; required?: boolean | undefined; params?: Record | undefined; }> | undefined; extendedAgentCard?: boolean | undefined; }; type A2AAgentCard = { name: string; description: string; supportedInterfaces: A2AAgentInterface[]; provider?: { organization: string; url: string; } | undefined; version: string; documentationUrl?: string | undefined; capabilities: A2AAgentCapabilities; securitySchemes?: Record | undefined; securityRequirements?: A2ASecurityRequirement[] | undefined; defaultInputModes: string[]; defaultOutputModes: string[]; skills: A2AAgentSkill[]; signatures?: A2AAgentCardSignature[] | undefined; iconUrl?: string | undefined; }; type A2AAgentCardSignature = { protected: string; signature: string; header?: Record | undefined; }; type A2AAgentInterface = { url: string; protocolBinding: string; protocolVersion: string; tenant?: string | undefined; }; type A2AAgentSkill = { id: string; name: string; description: string; tags: string[]; examples?: string[] | undefined; inputModes?: string[] | undefined; outputModes?: string[] | undefined; securityRequirements?: A2ASecurityRequirement[] | undefined; }; type A2AApiKeySecurityScheme = { description?: string | undefined; location: string; name: string; }; type A2AArtifact = { artifactId: string; name?: string | undefined; description?: string | undefined; parts: A2APart[]; metadata?: Record | undefined; extensions?: string[] | undefined; }; type A2AAuthenticationInfo = { scheme: string; credentials?: string | undefined; }; type A2AAuthorizationCodeOAuthFlow = { authorizationUrl: string; tokenUrl: string; refreshUrl?: string | undefined; scopes: Record; pkceRequired?: boolean | undefined; }; declare class A2AClient { private baseUrl; private basePath; private tenant; private extensionUris; private fetchOptions; private headersFn; constructor(options: A2AClientOptions); private getBasePath; private getHeaders; private throwResponseError; private fetchJSON; getAgentCard(signal?: AbortSignal): Promise; getExtendedAgentCard(signal?: AbortSignal): Promise; sendMessage(message: A2AMessage, configuration?: A2ASendMessageConfiguration, metadata?: Record, signal?: AbortSignal): Promise; streamMessage(message: A2AMessage, configuration?: A2ASendMessageConfiguration, metadata?: Record, signal?: AbortSignal): AsyncGenerator; getTask(taskId: string, historyLength?: number, signal?: AbortSignal): Promise; listTasks(request?: A2AListTasksRequest, signal?: AbortSignal): Promise; cancelTask(taskId: string, metadata?: Record, signal?: AbortSignal): Promise; subscribeToTask(taskId: string, signal?: AbortSignal): AsyncGenerator; createTaskPushNotificationConfig(config: A2ATaskPushNotificationConfig, signal?: AbortSignal): Promise; getTaskPushNotificationConfig(taskId: string, configId: string, signal?: AbortSignal): Promise; listTaskPushNotificationConfigs(taskId: string, options?: { pageSize?: number; pageToken?: string; }, signal?: AbortSignal): Promise; deleteTaskPushNotificationConfig(taskId: string, configId: string, signal?: AbortSignal): Promise; private parseSSE; } type A2AClientCredentialsOAuthFlow = { tokenUrl: string; refreshUrl?: string | undefined; scopes: Record; }; type A2AClientOptions = { baseUrl: string; basePath?: string | undefined; tenant?: string | undefined; headers?: Record | (() => Record | Promise>) | undefined; extensions?: string[] | undefined; fetchOptions?: Omit | undefined; }; type A2ADeviceCodeOAuthFlow = { deviceAuthorizationUrl: string; tokenUrl: string; refreshUrl?: string | undefined; scopes: Record; }; declare class A2AError extends Error { code: number; status: string; details: unknown[] | undefined; constructor(info: A2AErrorInfo); } type A2AErrorInfo = { code: number; status: string; message: string; details?: unknown[] | undefined; }; type A2AHttpAuthSecurityScheme = { description?: string | undefined; scheme: string; bearerFormat?: string | undefined; }; type A2AImplicitOAuthFlow = { authorizationUrl?: string | undefined; refreshUrl?: string | undefined; scopes?: Record | undefined; }; type A2AListTaskPushNotificationConfigsResponse = { configs: A2ATaskPushNotificationConfig[]; nextPageToken?: string | undefined; }; type A2AListTasksRequest = { contextId?: string | undefined; status?: A2ATaskState | undefined; pageSize?: number | undefined; pageToken?: string | undefined; historyLength?: number | undefined; statusTimestampAfter?: string | undefined; includeArtifacts?: boolean | undefined; }; type A2AListTasksResponse = { tasks: A2ATask[]; nextPageToken: string; pageSize: number; totalSize: number; }; type A2AMessage = { messageId: string; contextId?: string | undefined; taskId?: string | undefined; role: A2ARole; parts: A2APart[]; metadata?: Record | undefined; extensions?: string[] | undefined; referenceTaskIds?: string[] | undefined; }; type A2AMutualTlsSecurityScheme = { description?: string | undefined; }; type A2AOAuth2SecurityScheme = { description?: string | undefined; flows: A2AOAuthFlows; oauth2MetadataUrl?: string | undefined; }; type A2AOAuthFlows = { authorizationCode?: A2AAuthorizationCodeOAuthFlow | undefined; clientCredentials?: A2AClientCredentialsOAuthFlow | undefined; implicit?: A2AImplicitOAuthFlow | undefined; password?: A2APasswordOAuthFlow | undefined; deviceCode?: A2ADeviceCodeOAuthFlow | undefined; }; type A2AOpenIdConnectSecurityScheme = { description?: string | undefined; openIdConnectUrl: string; }; type A2APart = { text?: string | undefined; raw?: string | undefined; url?: string | undefined; data?: unknown; metadata?: Record | undefined; filename?: string | undefined; mediaType?: string | undefined; }; type A2APasswordOAuthFlow = { tokenUrl?: string | undefined; refreshUrl?: string | undefined; scopes?: Record | undefined; }; type A2ARole = "agent" | "unspecified" | "user"; type A2ASecurityRequirement = { schemes: Record; }; type A2ASecurityScheme = { apiKeySecurityScheme?: A2AApiKeySecurityScheme | undefined; httpAuthSecurityScheme?: A2AHttpAuthSecurityScheme | undefined; oauth2SecurityScheme?: A2AOAuth2SecurityScheme | undefined; openIdConnectSecurityScheme?: A2AOpenIdConnectSecurityScheme | undefined; mtlsSecurityScheme?: A2AMutualTlsSecurityScheme | undefined; }; type A2ASendMessageConfiguration = { acceptedOutputModes?: string[] | undefined; taskPushNotificationConfig?: A2ATaskPushNotificationConfig | undefined; historyLength?: number | undefined; returnImmediately?: boolean | undefined; }; type A2AStreamEvent = { type: "task"; task: A2ATask; } | { type: "message"; message: A2AMessage; } | { type: "statusUpdate"; event: A2ATaskStatusUpdateEvent; } | { type: "artifactUpdate"; event: A2ATaskArtifactUpdateEvent; }; type A2ATask = { id: string; contextId?: string | undefined; status: A2ATaskStatus; artifacts?: A2AArtifact[] | undefined; history?: A2AMessage[] | undefined; metadata?: Record | undefined; }; type A2ATaskArtifactUpdateEvent = { taskId: string; contextId: string; artifact: A2AArtifact; append?: boolean | undefined; lastChunk?: boolean | undefined; metadata?: Record | undefined; }; type A2ATaskPushNotificationConfig = { tenant?: string | undefined; id?: string | undefined; taskId?: string | undefined; url: string; token?: string | undefined; authentication?: A2AAuthenticationInfo | undefined; }; type A2ATaskState = "auth_required" | "canceled" | "completed" | "failed" | "input_required" | "rejected" | "submitted" | "unspecified" | "working"; type A2ATaskStatus = { state: A2ATaskState; message?: A2AMessage | undefined; timestamp?: string | undefined; }; type A2ATaskStatusUpdateEvent = { taskId: string; contextId: string; status: A2ATaskStatus; metadata?: Record | undefined; }; declare const A2A_PROTOCOL_VERSION = "1.0"; type AddToolResultOptions = { messageId: string; toolName: string; toolCallId: string; result: ReadonlyJSONValue; isError: boolean; artifact?: ReadonlyJSONValue | undefined; modelContent?: readonly ToolModelContentPart[] | undefined; }; type AppendMessage = Omit & { parentId: string | null; sourceId: string | null; runConfig: RunConfig | undefined; startRun?: boolean | undefined; steer?: boolean | undefined; }; type AsNumber = K extends `${infer N extends number}` ? N | K : never; type AssistantRuntime = { readonly threads: ThreadListRuntime; readonly thread: ThreadRuntime; registerModelContextProvider(provider: ModelContextProvider): Unsubscribe; }; type AsyncIterableStream = AsyncIterable & ReadableStream; type Attachment = PendingAttachment | CompleteAttachment; type AttachmentAdapter = { accept: string; add(state: { file: File; }): Promise | AsyncGenerator; remove(attachment: Attachment): Promise; send(attachment: PendingAttachment): Promise; }; type AttachmentAddErrorEvent = { readonly reason: AttachmentAddErrorReason; readonly message: string; readonly attachmentId?: string; readonly error?: Error; }; type AttachmentAddErrorReason = "adapter-error" | "no-adapter" | "not-accepted"; type AttachmentRuntime = { readonly path: AttachmentRuntimePath & { attachmentSource: TSource; }; readonly source: TSource; getState(): AttachmentState & { source: TSource; }; remove(): Promise; subscribe(callback: () => void): Unsubscribe; }; type AttachmentRuntimePath = ((MessageRuntimePath & { readonly attachmentSource: "edit-composer" | "message"; }) | (ThreadRuntimePath & { readonly attachmentSource: "thread-composer"; })) & { readonly attachmentSelector: { readonly type: "index"; readonly index: number; } | { readonly type: "index"; readonly index: number; } | { readonly type: "index"; readonly index: number; }; }; type AttachmentRuntimeSource = AttachmentState["source"]; type AttachmentState = ThreadComposerAttachmentState | EditComposerAttachmentState | MessageAttachmentState; type BackendTool = Record, TResult = unknown> = ToolBase & { type: "backend"; description?: undefined; parameters?: undefined; disabled?: undefined; execute?: undefined; toModelOutput?: undefined; experimental_onSchemaValidationError?: undefined; providerOptions?: undefined; }; type BaseAttachment = { id: string; type: "image" | "document" | "file" | (string & {}); name: string; contentType?: string | undefined; file?: File; content?: ThreadUserMessagePart[]; }; type BaseComposerState = { readonly canCancel: boolean; readonly canSend: boolean; readonly isEditing: boolean; readonly isEmpty: boolean; readonly text: string; readonly role: MessageRole; readonly attachments: readonly Attachment[]; readonly runConfig: RunConfig; readonly attachmentAccept: string; readonly dictation: DictationState | undefined; readonly quote: QuoteInfo | undefined; readonly queue: readonly QueueItemState[]; }; type BaseThreadMessage = { readonly status?: ThreadAssistantMessage["status"]; readonly metadata: { readonly unstable_state?: ReadonlyJSONValue; readonly unstable_annotations?: readonly ReadonlyJSONValue[]; readonly unstable_data?: readonly ReadonlyJSONValue[]; readonly steps?: readonly ThreadStep[]; readonly submittedFeedback?: { readonly type: "negative" | "positive"; }; readonly timing?: MessageTiming; readonly isOptimistic?: boolean; readonly custom: Record; }; readonly attachments?: ThreadUserMessage["attachments"]; }; type ChatModelRunOptions = { readonly messages: readonly ThreadMessage[]; readonly runConfig: RunConfig; readonly abortSignal: AbortSignal; readonly context: ModelContext; readonly unstable_assistantMessageId?: string | undefined; readonly unstable_threadId?: string | undefined; readonly unstable_parentId?: string | null | undefined; unstable_getMessage(): ThreadMessage; }; type ChatModelRunResult = { readonly content?: readonly ThreadAssistantMessagePart[] | undefined; readonly status?: MessageStatus | undefined; readonly metadata?: { readonly unstable_state?: ReadonlyJSONValue; readonly unstable_annotations?: readonly ReadonlyJSONValue[] | undefined; readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined; readonly steps?: readonly ThreadStep[] | undefined; readonly timing?: MessageTiming | undefined; readonly custom?: Record | undefined; }; }; type CompleteAttachment = BaseAttachment & { status: CompleteAttachmentStatus; content: ThreadUserMessagePart[]; }; type CompleteAttachmentStatus = { type: "complete"; }; type ComposerRuntime = { readonly path: ComposerRuntimePath; readonly type: "edit" | "thread"; getState(): ComposerState; addAttachment(fileOrAttachment: File | CreateAttachment): Promise; setText(text: string): void; setRole(role: MessageRole): void; setRunConfig(runConfig: RunConfig): void; reset(): Promise; clearAttachments(): Promise; send(options?: SendOptions): void; cancel(): void; steerQueueItem(queueItemId: string): void; removeQueueItem(queueItemId: string): void; subscribe(callback: () => void): Unsubscribe; getAttachmentByIndex(idx: number): AttachmentRuntime; startDictation(): void; stopDictation(): void; setQuote(quote: QuoteInfo | undefined): void; unstable_on(event: E, callback: ComposerRuntimeEventCallback): Unsubscribe; }; type ComposerRuntimeEventCallback = (payload: ComposerRuntimeEventPayload[E]) => void; type ComposerRuntimeEventPayload = { send: Record; attachmentAdd: Record; attachmentAddError: AttachmentAddErrorEvent; }; type ComposerRuntimeEventType = keyof ComposerRuntimeEventPayload; type ComposerRuntimePath = (ThreadRuntimePath & { readonly composerSource: "thread"; }) | (MessageRuntimePath & { readonly composerSource: "edit"; }); type ComposerState = ThreadComposerState | EditComposerState; type CreateAppendMessage = string | { parentId?: string | null | undefined; sourceId?: string | null | undefined; role?: AppendMessage["role"] | undefined; content: AppendMessage["content"]; attachments?: AppendMessage["attachments"] | undefined; metadata?: AppendMessage["metadata"] | undefined; createdAt?: Date | undefined; runConfig?: AppendMessage["runConfig"] | undefined; startRun?: boolean | undefined; }; type CreateAttachment = { id?: string; type?: "image" | "document" | "file" | (string & {}); name: string; contentType?: string; content: ThreadUserMessagePart[]; }; type CreateResumeRunConfig = CreateStartRunConfig & { stream?: (options: ChatModelRunOptions) => AsyncGenerator; }; type CreateStartRunConfig = { parentId: string | null; sourceId?: string | null | undefined; runConfig?: RunConfig | undefined; }; type DataMessagePart = { readonly type: "data"; readonly name: string; readonly data: T; }; type DataPrefixedPart = { readonly type: `data-${string}`; readonly data: any; }; type DeepPartial = T extends readonly any[] ? readonly DeepPartial[] : T extends { [key: string]: any; } ? { readonly [K in keyof T]?: DeepPartial; } : T; declare namespace DictationAdapter { type Status = { type: "running" | "starting"; } | { type: "ended"; reason: "cancelled" | "error" | "stopped"; }; type Result = { transcript: string; isFinal?: boolean; }; type Session = { status: Status; stop: () => Promise; cancel: () => void; onSpeechStart: (callback: () => void) => Unsubscribe; onSpeechEnd: (callback: (result: Result) => void) => Unsubscribe; onSpeech: (callback: (result: Result) => void) => Unsubscribe; }; } type DictationAdapter = { listen: () => DictationAdapter.Session; disableInputDuringDictation?: boolean; }; type DictationState = { readonly status: DictationAdapter.Status; readonly transcript?: string; readonly inputDisabled?: boolean; }; type EditComposerAttachmentState = Attachment & { readonly source: "edit-composer"; }; type EditComposerRuntime = Omit & { readonly path: ComposerRuntimePath & { composerSource: "edit"; }; readonly type: "edit"; getState(): EditComposerState; beginEdit(): void; getAttachmentByIndex(idx: number): AttachmentRuntime & { source: "edit-composer"; }; }; type EditComposerState = BaseComposerState & { readonly type: "edit"; readonly parentId: string | null; readonly sourceId: string | null; }; type ExportedMessageRepository = { headId?: string | null; messages: Array<{ message: ThreadMessage; parentId: string | null; runConfig?: RunConfig; }>; }; declare const ExportedMessageRepository: { fromArray: (messages: readonly ThreadMessageLike[]) => ExportedMessageRepository; fromBranchableArray: (items: readonly { message: ThreadMessageLike; parentId: string | null; }[], options?: { headId?: string | null; }) => ExportedMessageRepository; }; type ExportedMessageRepositoryItem = { message: ThreadMessage; parentId: string | null; runConfig?: RunConfig; }; type ExternalStoreAdapter = ExternalStoreAdapterBase & (T extends ThreadMessage ? object : ExternalStoreMessageConverterAdapter); type ExternalStoreAdapterBase = { isDisabled?: boolean | undefined; isSendDisabled?: boolean | undefined; isRunning?: boolean | undefined; isLoading?: boolean | undefined; messages?: readonly T[]; messageRepository?: ExportedMessageRepository; suggestions?: readonly ThreadSuggestion[] | undefined; state?: ReadonlyJSONValue | undefined; extras?: unknown; setMessages?: ((messages: readonly T[]) => void) | undefined; unstable_onBranchChange?: ((event: ExternalStoreBranchChange) => void) | undefined; onImport?: ((messages: readonly ThreadMessage[]) => void) | undefined; onExportExternalState?: (() => any) | undefined; onLoadExternalState?: ((state: any) => void) | undefined; onNew: (message: AppendMessage) => Promise; queue?: ExternalThreadQueueAdapter | undefined; onEdit?: ((message: AppendMessage) => Promise) | undefined; onDelete?: ((messageId: string) => Promise | void) | undefined; onReload?: ((parentId: string | null, config: StartRunConfig) => Promise) | undefined; onResume?: ((config: ResumeRunConfig) => Promise) | undefined; onCancel?: (() => Promise) | undefined; onAddToolResult?: ((options: AddToolResultOptions) => Promise | void) | undefined; onResumeToolCall?: ((options: { toolCallId: string; payload: unknown; }) => void) | undefined; onRespondToToolApproval?: ((options: RespondToToolApprovalOptions) => Promise | void) | undefined; convertMessage?: ExternalStoreMessageConverter | undefined; adapters?: { attachments?: AttachmentAdapter | undefined; speech?: SpeechSynthesisAdapter | undefined; dictation?: DictationAdapter | undefined; voice?: RealtimeVoiceAdapter | undefined; feedback?: FeedbackAdapter | undefined; threadList?: ExternalStoreThreadListAdapter | undefined; } | undefined; unstable_capabilities?: { copy?: boolean | undefined; } | undefined; unstable_enableToolInvocations?: boolean | undefined; setToolStatuses?: ((statuses: Record) => void) | undefined; }; type ExternalStoreBranchChange = { headId: string | null; visibleMessageIds: readonly string[]; }; type ExternalStoreMessageConverter = (message: T, idx: number) => ThreadMessageLike; type ExternalStoreMessageConverterAdapter = { convertMessage: ExternalStoreMessageConverter; }; type ExternalStoreSharedOptions = Pick; type ExternalStoreThreadData = { status: TState; id: string; remoteId?: string | undefined; externalId?: string | undefined; title?: string | undefined; custom?: Record | undefined; }; type ExternalStoreThreadListAdapter = { threadId?: string | undefined; isLoading?: boolean | undefined; threads?: readonly ExternalStoreThreadData<"regular">[] | undefined; archivedThreads?: readonly ExternalStoreThreadData<"archived">[] | undefined; onSwitchToNewThread?: (() => Promise | void) | undefined; onSwitchToThread?: ((threadId: string) => Promise | void) | undefined; onRename?: (threadId: string, newTitle: string) => (Promise | void) | undefined; onUpdateCustom?: ((threadId: string, custom: Record | undefined) => Promise | void) | undefined; onArchive?: ((threadId: string) => Promise | void) | undefined; onUnarchive?: ((threadId: string) => Promise | void) | undefined; onDelete?: ((threadId: string) => Promise | void) | undefined; }; type ExternalThreadQueueAdapter = { items: readonly QueueItemState[]; enqueue: (message: AppendMessage, options: { steer: boolean; }) => void; steer: (queueItemId: string) => void; remove: (queueItemId: string) => void; clear: (reason: "cancel-run" | "edit" | "reload") => void; }; type FeedbackAdapter = { submit: (feedback: FeedbackAdapterFeedback) => void; }; type FeedbackAdapterFeedback = { message: ThreadMessage; type: "negative" | "positive"; }; type FileMessagePart = { readonly type: "file"; readonly filename?: string; readonly data: string; readonly mimeType: string; readonly parentId?: string; }; type FrontendTool = Record, TResult = unknown> = ToolBase & { type: "frontend"; description?: string | undefined; parameters: StandardSchemaV1 | JSONSchema7; disabled?: boolean; execute?: ToolExecuteFunction; toModelOutput?: ToolModelOutputFunction; experimental_onSchemaValidationError?: OnSchemaValidationErrorFunction; providerOptions?: ProviderOptions; }; type GenerativeUIMessagePart = { readonly type: "generative-ui"; readonly spec: GenerativeUISpec; readonly id?: string; readonly parentId?: string; }; type GenerativeUINode = string | { readonly component: string; readonly props?: Record; readonly children?: readonly GenerativeUINode[]; readonly key?: string; }; type GenerativeUISpec = { readonly root: GenerativeUINode | readonly GenerativeUINode[]; }; type GenericThreadHistoryAdapter = { load(): Promise>; append(item: MessageFormatItem): Promise; update?(item: MessageFormatItem, localMessageId: string): Promise; delete?(items: MessageFormatItem[]): Promise; reportTelemetry?(items: MessageFormatItem[], options?: { durationMs?: number; stepTimestamps?: { start_ms: number; end_ms: number; }[]; }): void; }; type HumanTool = Record, TResult = unknown> = ToolBase & { type: "human"; description?: string | undefined; parameters: StandardSchemaV1 | JSONSchema7; disabled?: boolean; display?: "standalone"; execute?: undefined; toModelOutput?: undefined; experimental_onSchemaValidationError?: undefined; providerOptions?: ProviderOptions; }; type ImageMessagePart = { readonly type: "image"; readonly image: string; readonly filename?: string; }; interface JSONSchema7 { $id?: string | undefined; $ref?: string | undefined; $schema?: JSONSchema7Version | undefined; $comment?: string | undefined; $defs?: { [key: string]: JSONSchema7Definition; } | undefined; type?: JSONSchema7TypeName | JSONSchema7TypeName[] | undefined; enum?: JSONSchema7Type[] | undefined; const?: JSONSchema7Type | undefined; multipleOf?: number | undefined; maximum?: number | undefined; exclusiveMaximum?: number | undefined; minimum?: number | undefined; exclusiveMinimum?: number | undefined; maxLength?: number | undefined; minLength?: number | undefined; pattern?: string | undefined; items?: JSONSchema7Definition | JSONSchema7Definition[] | undefined; additionalItems?: JSONSchema7Definition | undefined; maxItems?: number | undefined; minItems?: number | undefined; uniqueItems?: boolean | undefined; contains?: JSONSchema7Definition | undefined; maxProperties?: number | undefined; minProperties?: number | undefined; required?: string[] | undefined; properties?: { [key: string]: JSONSchema7Definition; } | undefined; patternProperties?: { [key: string]: JSONSchema7Definition; } | undefined; additionalProperties?: JSONSchema7Definition | undefined; dependencies?: { [key: string]: JSONSchema7Definition | string[]; } | undefined; propertyNames?: JSONSchema7Definition | undefined; if?: JSONSchema7Definition | undefined; then?: JSONSchema7Definition | undefined; else?: JSONSchema7Definition | undefined; allOf?: JSONSchema7Definition[] | undefined; anyOf?: JSONSchema7Definition[] | undefined; oneOf?: JSONSchema7Definition[] | undefined; not?: JSONSchema7Definition | undefined; format?: string | undefined; contentMediaType?: string | undefined; contentEncoding?: string | undefined; definitions?: { [key: string]: JSONSchema7Definition; } | undefined; title?: string | undefined; description?: string | undefined; default?: JSONSchema7Type | undefined; readOnly?: boolean | undefined; writeOnly?: boolean | undefined; examples?: JSONSchema7Type | undefined; } interface JSONSchema7Array extends Array { } type JSONSchema7Definition = JSONSchema7 | boolean; interface JSONSchema7Object { [key: string]: JSONSchema7Type; } type JSONSchema7Type = string | number | boolean | JSONSchema7Object | JSONSchema7Array | null; type JSONSchema7TypeName = "array" | "boolean" | "integer" | "null" | "number" | "object" | "string"; type JSONSchema7Version = string; type LanguageModelConfig = { apiKey?: string; baseUrl?: string; modelName?: string; reasoningEffort?: string; }; type LanguageModelV1CallSettings = { maxTokens?: number; temperature?: number; topP?: number; presencePenalty?: number; frequencyPenalty?: number; seed?: number; headers?: Record; }; type McpAppMetadata = { readonly resourceUri: string; readonly mimeType?: string; readonly visibility?: readonly ("app" | "model")[]; }; type McpServerConfig = { type: "http" | "sse"; url: string; headers?: Record; redirect?: "error" | "follow"; connectionTimeout?: number | undefined; } | { type: "stdio"; command: string; args?: readonly string[]; env?: Record; cwd?: string; connectionTimeout?: number | undefined; }; type McpTool = ToolBase, unknown> & { type: "mcp"; server: McpServerConfig; description?: undefined; parameters?: undefined; disabled?: boolean; execute?: undefined; toModelOutput?: undefined; experimental_onSchemaValidationError?: undefined; providerOptions?: undefined; }; type MessageAttachmentState = CompleteAttachment & { readonly source: "message"; }; type MessageCommonProps = { readonly id: string; readonly createdAt: Date; }; interface MessageFormatAdapter> { format: string; encode(item: MessageFormatItem): TStorageFormat; decode(stored: MessageStorageEntry): MessageFormatItem; getId(message: TMessage): string; } interface MessageFormatItem { parentId: string | null; message: TMessage; } interface MessageFormatRepository { headId?: string | null; messages: MessageFormatItem[]; } type MessagePartRuntime = { addToolResult(result: any | ToolResponse): void; resumeToolCall(payload: unknown): void; respondToToolApproval(response: ToolApprovalResponse): void; readonly path: MessagePartRuntimePath; getState(): MessagePartState; subscribe(callback: () => void): Unsubscribe; }; type MessagePartRuntimePath = MessageRuntimePath & { readonly messagePartSelector: { readonly type: "index"; readonly index: number; } | { readonly type: "toolCallId"; readonly toolCallId: string; }; }; type MessagePartState = (ThreadUserMessagePart | ThreadAssistantMessagePart) & { readonly status: MessagePartStatus | ToolCallMessagePartStatus; }; type MessagePartStatus = { readonly type: "running"; } | { readonly type: "complete"; } | { readonly type: "incomplete"; readonly reason: "cancelled" | "content-filter" | "error" | "length" | "other"; readonly error?: unknown; }; type MessageRole = ThreadMessage["role"]; type MessageRuntime = { readonly path: MessageRuntimePath; readonly composer: EditComposerRuntime; getState(): MessageState; delete(): void | Promise; reload(config?: ReloadConfig): void; speak(): void; stopSpeaking(): void; submitFeedback(_param0: { type: "positive" | "negative"; }): void; switchToBranch(_param1: { position?: "previous" | "next" | undefined; branchId?: string | undefined; }): void; unstable_getCopyText(): string; subscribe(callback: () => void): Unsubscribe; getMessagePartByIndex(idx: number): MessagePartRuntime; getMessagePartByToolCallId(toolCallId: string): MessagePartRuntime; getAttachmentByIndex(idx: number): AttachmentRuntime & { source: "message"; }; }; type MessageRuntimePath = ThreadRuntimePath & { readonly messageSelector: { readonly type: "messageId"; readonly messageId: string; } | { readonly type: "index"; readonly index: number; }; }; type MessageState = ThreadMessage & { readonly parentId: string | null; readonly index: number; readonly isLast: boolean; readonly branchNumber: number; readonly branchCount: number; readonly speech: SpeechState | undefined; }; type MessageStatus = { readonly type: "running"; } | { readonly type: "requires-action"; readonly reason: "interrupt" | "tool-calls"; } | { readonly type: "complete"; readonly reason: "stop" | "unknown"; } | { readonly type: "incomplete"; readonly reason: "cancelled" | "content-filter" | "error" | "length" | "other" | "tool-calls"; readonly error?: ReadonlyJSONValue; }; interface MessageStorageEntry { id: string; parent_id: string | null; format: string; content: TPayload; } type MessageTiming = { readonly streamStartTime: number; readonly firstTokenTime?: number; readonly totalStreamTime?: number; readonly tokenCount?: number; readonly tokensPerSecond?: number; readonly totalChunks: number; readonly toolCallCount: number; }; type ModelContext = { priority?: number | undefined; system?: string | undefined; tools?: Record> | undefined; callSettings?: LanguageModelV1CallSettings | undefined; config?: LanguageModelConfig | undefined; unstable_composerMetadata?: Record | undefined; }; type ModelContextProvider = { getModelContext: () => ModelContext; subscribe?: (callback: () => void) => Unsubscribe; }; type ObjectKey = keyof T & (string | number); type OnSchemaValidationErrorFunction = ToolExecuteFunction; type PartProviderMetadata = { readonly [providerName: string]: ReadonlyJSONObject; }; type PendingAttachment = BaseAttachment & { status: PendingAttachmentStatus; file: File; }; type PendingAttachmentStatus = { type: "running"; reason: "uploading"; progress: number; } | { type: "requires-action"; reason: "composer-send"; } | { type: "incomplete"; reason: "error" | "upload-paused"; message?: string; }; type ProviderOptions = Record>; type ProviderTool = Record, TResult = unknown> = ToolBase & { type: "provider"; providerId: `${string}.${string}`; parameters?: StandardSchemaV1 | JSONSchema7 | undefined; args: Record; supportsDeferredResults?: boolean; description?: undefined; disabled?: boolean; execute?: undefined; toModelOutput?: undefined; experimental_onSchemaValidationError?: undefined; providerOptions?: ProviderOptions; }; type QueueItemState = { readonly id: string; readonly prompt: string; }; type QuoteInfo = { readonly text: string; readonly messageId: string; }; type ReadonlyJSONArray = readonly ReadonlyJSONValue[]; type ReadonlyJSONObject = { readonly [key: string]: ReadonlyJSONValue; }; type ReadonlyJSONValue = null | string | number | boolean | ReadonlyJSONObject | ReadonlyJSONArray; declare namespace RealtimeVoiceAdapter { type Status = { type: "running" | "starting"; } | { type: "ended"; reason: "cancelled" | "error" | "finished"; error?: unknown; }; type Mode = "listening" | "speaking"; type TranscriptItem = { role: "assistant" | "user"; text: string; isFinal?: boolean; }; type Session = { status: Status; isMuted: boolean; disconnect: () => void; mute: () => void; unmute: () => void; onStatusChange: (callback: (status: Status) => void) => Unsubscribe; onTranscript: (callback: (transcript: TranscriptItem) => void) => Unsubscribe; onModeChange: (callback: (mode: Mode) => void) => Unsubscribe; onVolumeChange: (callback: (volume: number) => void) => Unsubscribe; }; } type RealtimeVoiceAdapter = { connect: (options: { abortSignal?: AbortSignal; }) => RealtimeVoiceAdapter.Session; }; type ReasoningMessagePart = { readonly type: "reasoning"; readonly text: string; readonly providerMetadata?: PartProviderMetadata; readonly parentId?: string; }; type ReloadConfig = { runConfig?: RunConfig; }; type RespondToToolApprovalOptions = { approvalId: string; approved: boolean; optionId?: string; reason?: string; }; type ResumeRunConfig = StartRunConfig & { stream?: (options: ChatModelRunOptions) => AsyncGenerator; }; type RunConfig = { readonly custom?: Record; }; type RuntimeCapabilities = { readonly switchToBranch: boolean; readonly switchBranchDuringRun: boolean; readonly edit: boolean; readonly reload: boolean; readonly delete: boolean; readonly cancel: boolean; readonly unstable_copy: boolean; readonly speech: boolean; readonly dictation: boolean; readonly voice: boolean; readonly attachments: boolean; readonly feedback: boolean; readonly queue: boolean; }; type SendOptions = { startRun?: boolean; steer?: boolean; }; type SourceMessagePart = { readonly type: "source"; readonly sourceType: "url"; readonly id: string; readonly url: string; readonly title?: string; readonly providerMetadata?: SourceProviderMetadata; readonly parentId?: string; } | { readonly type: "source"; readonly sourceType: "document"; readonly id: string; readonly url?: undefined; readonly title: string; readonly mediaType: string; readonly filename?: string; readonly providerMetadata?: SourceProviderMetadata; readonly parentId?: string; }; type SourceProviderMetadata = PartProviderMetadata; interface SpeechRecognitionConstructor { new (): SpeechRecognitionInstance; } interface SpeechRecognitionInstance extends EventTarget { lang: string; continuous: boolean; interimResults: boolean; start(): void; stop(): void; abort(): void; } type SpeechState = { readonly messageId: string; readonly status: SpeechSynthesisAdapter.Status; }; declare namespace SpeechSynthesisAdapter { type Status = { type: "running" | "starting"; } | { type: "ended"; reason: "cancelled" | "error" | "finished"; error?: unknown; }; type Utterance = { status: Status; cancel: () => void; subscribe: (callback: () => void) => Unsubscribe; }; } type SpeechSynthesisAdapter = { speak: (text: string) => SpeechSynthesisAdapter.Utterance; }; type StartRunConfig = { parentId: string | null; sourceId: string | null; runConfig: RunConfig; }; declare const TOOL_RESPONSE_SYMBOL: unique symbol; type TextMessagePart = { readonly type: "text"; readonly text: string; readonly providerMetadata?: PartProviderMetadata; readonly parentId?: string; }; type ThreadAssistantMessage = MessageCommonProps & { readonly role: "assistant"; readonly content: readonly ThreadAssistantMessagePart[]; readonly status: MessageStatus; readonly metadata: { readonly unstable_state: ReadonlyJSONValue; readonly unstable_annotations: readonly ReadonlyJSONValue[]; readonly unstable_data: readonly ReadonlyJSONValue[]; readonly steps: readonly ThreadStep[]; readonly submittedFeedback?: { readonly type: "negative" | "positive"; }; readonly timing?: MessageTiming; readonly isOptimistic?: boolean; readonly custom: Record; }; }; type ThreadAssistantMessagePart = TextMessagePart | ReasoningMessagePart | ToolCallMessagePart | SourceMessagePart | FileMessagePart | ImageMessagePart | DataMessagePart | GenerativeUIMessagePart; type ThreadComposerAttachmentState = Attachment & { readonly source: "thread-composer"; }; type ThreadComposerRuntime = Omit & { readonly path: ComposerRuntimePath & { composerSource: "thread"; }; readonly type: "thread"; getState(): ThreadComposerState; getAttachmentByIndex(idx: number): AttachmentRuntime & { source: "thread-composer"; }; }; type ThreadComposerState = BaseComposerState & { readonly type: "thread"; }; type ThreadHistoryAdapter = { load(): Promise; resume?(options: ChatModelRunOptions): AsyncGenerator; append(item: ExportedMessageRepositoryItem): Promise; delete?(items: ExportedMessageRepositoryItem[]): Promise; withFormat?>(formatAdapter: MessageFormatAdapter): GenericThreadHistoryAdapter; }; type ThreadListItemEventCallback = (payload: ThreadListItemEventPayload[E]) => void; type ThreadListItemEventPayload = { switchedTo: Record; switchedAway: Record; }; type ThreadListItemEventType = keyof ThreadListItemEventPayload; type ThreadListItemRuntime = { readonly path: ThreadListItemRuntimePath; getState(): ThreadListItemState; initialize(): Promise<{ remoteId: string; externalId: string | undefined; }>; generateTitle(): Promise; switchTo(options?: { unarchive?: boolean; }): Promise; rename(newTitle: string): Promise; updateCustom(custom: Record | undefined): Promise; archive(): Promise; unarchive(): Promise; delete(): Promise; detach(): void; subscribe(callback: () => void): Unsubscribe; unstable_on(event: E, callback: ThreadListItemEventCallback): Unsubscribe; __internal_getRuntime(): ThreadListItemRuntime; }; type ThreadListItemRuntimePath = { readonly ref: string; readonly threadSelector: { readonly type: "main"; } | { readonly type: "index"; readonly index: number; } | { readonly type: "archiveIndex"; readonly index: number; } | { readonly type: "threadId"; readonly threadId: string; }; }; type ThreadListItemState = { readonly isMain: boolean; readonly id: string; readonly remoteId: string | undefined; readonly externalId: string | undefined; readonly status: ThreadListItemStatus; readonly title?: string | undefined; readonly lastMessageAt?: Date | undefined; readonly custom?: Record | undefined; }; type ThreadListItemStatus = "archived" | "deleted" | "new" | "regular"; type ThreadListRuntime = { getState(): ThreadListState; subscribe(callback: () => void): Unsubscribe; readonly main: ThreadRuntime; getById(threadId: string): ThreadRuntime; readonly mainItem: ThreadListItemRuntime; getItemById(threadId: string): ThreadListItemRuntime; getItemByIndex(idx: number): ThreadListItemRuntime; getArchivedItemByIndex(idx: number): ThreadListItemRuntime; switchToThread(threadId: string, options?: { unarchive?: boolean; }): Promise; switchToNewThread(): Promise; getLoadThreadsPromise(): Promise; reload(): Promise; loadMore(): Promise; }; type ThreadListState = { readonly mainThreadId: string; readonly newThreadId: string | undefined; readonly threadIds: readonly string[]; readonly archivedThreadIds: readonly string[]; readonly isLoading: boolean; readonly isLoadingMore: boolean; readonly hasMore: boolean; readonly threadItems: Readonly>>; }; type ThreadMessage = BaseThreadMessage & (ThreadSystemMessage | ThreadUserMessage | ThreadAssistantMessage); type ThreadMessageLike = { readonly role: "assistant" | "system" | "user"; readonly content: string | readonly (TextMessagePart | ReasoningMessagePart | SourceMessagePart | ImageMessagePart | FileMessagePart | DataMessagePart | GenerativeUIMessagePart | Unstable_AudioMessagePart | DataPrefixedPart | { readonly type: "tool-call"; readonly toolCallId?: string; readonly toolName: string; readonly args?: ReadonlyJSONObject; readonly argsText?: string; readonly artifact?: any; readonly result?: any | undefined; readonly isError?: boolean | undefined; readonly parentId?: string | undefined; readonly messages?: readonly ThreadMessage[] | undefined; readonly interrupt?: { type: "human"; payload: unknown; }; readonly timing?: ToolCallTiming; readonly providerMetadata?: PartProviderMetadata; readonly approval?: { readonly id: string; readonly approved?: boolean; readonly reason?: string; readonly isAutomatic?: boolean; readonly options?: readonly ToolApprovalOption[]; readonly optionId?: string; readonly resolution?: "cancelled" | "expired"; }; })[]; readonly id?: string | undefined; readonly createdAt?: Date | undefined; readonly status?: MessageStatus | undefined; readonly attachments?: readonly (Omit & { readonly content: readonly (ThreadUserMessagePart | DataPrefixedPart)[]; })[] | undefined; readonly metadata?: { readonly unstable_state?: ReadonlyJSONValue; readonly unstable_annotations?: readonly ReadonlyJSONValue[] | undefined; readonly unstable_data?: readonly ReadonlyJSONValue[] | undefined; readonly steps?: readonly ThreadStep[] | undefined; readonly timing?: MessageTiming | undefined; readonly submittedFeedback?: { readonly type: "negative" | "positive"; }; readonly isOptimistic?: boolean | undefined; readonly custom?: Record | undefined; } | undefined; }; type ThreadRuntime = { readonly path: ThreadRuntimePath; readonly composer: ThreadComposerRuntime; getState(): ThreadState; append(message: CreateAppendMessage): void; deleteMessage(messageId: string): void | Promise; startRun(config: CreateStartRunConfig): void; resumeRun(config: CreateResumeRunConfig): void; exportExternalState(): any; importExternalState(state: any): void; subscribe(callback: () => void): Unsubscribe; cancelRun(): void; getModelContext(): ModelContext; export(): ExportedMessageRepository; import(repository: ExportedMessageRepository): void; reset(initialMessages?: readonly ThreadMessageLike[]): void; getMessageByIndex(idx: number): MessageRuntime; getMessageById(messageId: string): MessageRuntime; stopSpeaking(): void; connectVoice(): void; disconnectVoice(): void; getVoiceVolume(): number; subscribeVoiceVolume(callback: () => void): Unsubscribe; muteVoice(): void; unmuteVoice(): void; unstable_on(event: E, callback: ThreadRuntimeEventCallback): Unsubscribe; }; type ThreadRuntimeEventCallback = (payload: ThreadRuntimeEventPayload[E]) => void; type ThreadRuntimeEventPayload = { runStart: Record; runEnd: Record; initialize: Record; modelContextUpdate: Record; }; type ThreadRuntimeEventType = keyof ThreadRuntimeEventPayload; type ThreadRuntimePath = { readonly ref: string; readonly threadSelector: { readonly type: "main"; } | { readonly type: "threadId"; readonly threadId: string; }; }; type ThreadState = { readonly threadId: string; readonly metadata: ThreadListItemState; readonly isDisabled: boolean; readonly isLoading: boolean; readonly isRunning: boolean; readonly capabilities: RuntimeCapabilities; readonly messages: readonly ThreadMessage[]; readonly state: ReadonlyJSONValue; readonly suggestions: readonly ThreadSuggestion[]; readonly extras: unknown; readonly speech: SpeechState | undefined; readonly voice: VoiceSessionState | undefined; }; type ThreadStep = { readonly messageId?: string; readonly usage?: { readonly inputTokens: number; readonly outputTokens: number; } | undefined; }; type ThreadSuggestion = { prompt: string; }; type ThreadSystemMessage = MessageCommonProps & { readonly role: "system"; readonly content: readonly [ TextMessagePart ]; readonly metadata: { readonly unstable_state?: undefined; readonly unstable_annotations?: undefined; readonly unstable_data?: undefined; readonly steps?: undefined; readonly submittedFeedback?: undefined; readonly timing?: undefined; readonly custom: Record; }; }; type ThreadUserMessage = MessageCommonProps & { readonly role: "user"; readonly content: readonly ThreadUserMessagePart[]; readonly attachments: readonly CompleteAttachment[]; readonly metadata: { readonly unstable_state?: undefined; readonly unstable_annotations?: undefined; readonly unstable_data?: undefined; readonly steps?: undefined; readonly submittedFeedback?: undefined; readonly timing?: undefined; readonly custom: Record; }; }; type ThreadUserMessagePart = TextMessagePart | ImageMessagePart | FileMessagePart | DataMessagePart | Unstable_AudioMessagePart; type Tool = Record, TResult = unknown> = FrontendTool | BackendTool | HumanTool | ProviderTool | McpTool | ToolWithoutType; type ToolApprovalOption = { readonly id: string; readonly kind: ToolApprovalOptionKind | (string & {}); readonly label?: string; readonly description?: string; readonly grants?: readonly string[]; readonly confirm?: boolean | { title?: string; description?: string; }; }; type ToolApprovalOptionKind = "allow-always" | "allow-once" | "reject-always" | "reject-once"; type ToolApprovalResponse = { readonly approved: boolean; readonly reason?: string; } | { readonly optionId: string; readonly reason?: string; } | { readonly approved: boolean; readonly optionId: string; readonly reason?: string; }; type ToolBase = Record, TResult = unknown> = { streamCall?: ToolStreamCallFunction; display?: ToolDisplay; }; interface ToolCallArgsReader> { get>(...fieldPath: PathT): Promise>; streamValues>(...fieldPath: PathT): AsyncIterableStream>>; streamText>(...fieldPath: PathT): TypeAtPath extends string & (infer U) ? AsyncIterableStream : never; forEach>(...fieldPath: PathT): NonNullable> extends Array ? AsyncIterableStream : never; } type ToolCallMessagePart = { readonly type: "tool-call"; readonly toolCallId: string; readonly toolName: string; readonly args: TArgs; readonly result?: TResult | undefined; readonly isError?: boolean | undefined; readonly argsText: string; readonly artifact?: unknown; readonly timing?: ToolCallTiming; readonly mcp?: ToolCallMessagePartMcpMetadata; readonly providerMetadata?: PartProviderMetadata; readonly modelContent?: readonly ToolModelContentPart[] | undefined; readonly interrupt?: { type: "human"; payload: unknown; }; readonly approval?: { readonly id: string; readonly approved?: boolean; readonly reason?: string; readonly isAutomatic?: boolean; readonly options?: readonly ToolApprovalOption[]; readonly optionId?: string; readonly resolution?: "cancelled" | "expired"; }; readonly parentId?: string; readonly messages?: readonly ThreadMessage[]; }; type ToolCallMessagePartMcpMetadata = { readonly app?: McpAppMetadata; }; type ToolCallMessagePartStatus = { readonly type: "requires-action"; readonly reason: "interrupt"; } | MessagePartStatus; interface ToolCallReader = Record, TResult = unknown> { args: ToolCallArgsReader; response: ToolCallResponseReader; result: { get: () => Promise; }; } interface ToolCallResponseReader { get: () => Promise>; } type ToolCallTiming = { readonly startedAt: number; readonly completedAt?: number; }; type ToolDisplay = "inline" | "standalone"; type ToolExecuteFunction = (args: TArgs, context: ToolExecutionContext) => TResult | Promise; type ToolExecutionContext = { toolCallId: string; abortSignal: AbortSignal; human: (payload: unknown) => Promise; }; type ToolExecutionStatus = { type: "executing"; } | { type: "interrupt"; payload: { type: "human"; payload: unknown; }; }; type ToolModelContentPart = { readonly type: "text"; readonly text: string; } | { readonly type: "file"; readonly data: string; readonly mediaType: string; readonly filename?: string; }; type ToolModelOutputFunction = (options: { toolCallId: string; input: TArgs; output: TResult; }) => readonly ToolModelContentPart[] | Promise; declare class ToolResponse { get [TOOL_RESPONSE_SYMBOL](): boolean; readonly artifact?: ReadonlyJSONValue; readonly result: TResult; readonly isError: boolean; readonly modelContent?: readonly ToolModelContentPart[]; readonly messages?: ReadonlyJSONValue; constructor(options: ToolResponseLike); static [Symbol.hasInstance](obj: unknown): obj is ToolResponse; static toResponse(result: any | ToolResponse): ToolResponse; } type ToolResponseLike = { result: TResult; artifact?: ReadonlyJSONValue | undefined; isError?: boolean | undefined; modelContent?: readonly ToolModelContentPart[] | undefined; messages?: ReadonlyJSONValue | undefined; }; type ToolStreamCallFunction = Record, TResult = unknown> = (reader: ToolCallReader, context: ToolExecutionContext) => void; type ToolWithoutType = Record, TResult = unknown> = (Omit, "type"> | Omit, "type"> | Omit, "type"> | Omit, "type">) & { type?: undefined; }; type TupleIndex = Exclude; type TypeAtPath = P extends [ infer Head, ...infer Rest ] ? Head extends keyof T ? TypeAtPath : never : T; type TypePath = [ ] | (0 extends 1 & T ? any[] : T extends object ? T extends readonly any[] ? number extends T["length"] ? { [K in TupleIndex]: [ AsNumber, ...TypePath ]; }[TupleIndex] : [ number, ...TypePath ] : { [K in ObjectKey]: [ K, ...TypePath ]; }[ObjectKey] : [ ]); type Unstable_AudioMessagePart = { readonly type: "audio"; readonly audio: { readonly data: string; readonly format: "mp3" | "wav"; }; }; type Unsubscribe = () => void; type UseA2ARuntimeOptions = ExternalStoreSharedOptions & { client?: A2AClient; baseUrl?: string; basePath?: string; tenant?: string; headers?: A2AClientOptions["headers"]; extensions?: string[]; fetchOptions?: A2AClientOptions["fetchOptions"]; contextId?: string; configuration?: A2ASendMessageConfiguration; onError?: (error: Error) => void; onCancel?: () => void; onArtifactComplete?: (artifact: A2AArtifact) => void; adapters?: { attachments?: AttachmentAdapter; speech?: SpeechSynthesisAdapter; dictation?: DictationAdapter; voice?: RealtimeVoiceAdapter; feedback?: FeedbackAdapter; history?: ThreadHistoryAdapter; threadList?: UseA2AThreadListAdapter; }; }; type UseA2AThreadListAdapter = { threadId?: string; onSwitchToNewThread?: () => Promise | void; onSwitchToThread?: (threadId: string) => Promise<{ messages: readonly ThreadMessage[]; }>; }; type VoiceSessionState = { readonly status: RealtimeVoiceAdapter.Status; readonly isMuted: boolean; readonly mode: RealtimeVoiceAdapter.Mode; }; declare function a2aMessageToContent(message: A2AMessage): ThreadAssistantMessage["content"]; declare function a2aPartToContent(part: A2APart): ThreadAssistantMessage["content"][number]; declare function a2aPartsToContent(parts: A2APart[]): ThreadAssistantMessage["content"]; declare function contentPartsToA2AParts(content: ReadonlyArray<{ type: string; text?: string; image?: string; }>): A2APart[]; declare global { interface Window { SpeechRecognition?: SpeechRecognitionConstructor; webkitSpeechRecognition?: SpeechRecognitionConstructor; } } declare namespace entry_root_exports { export { A2AAgentCapabilities, A2AAgentCard, A2AAgentCardSignature, A2AAgentInterface, A2AAgentSkill, A2AApiKeySecurityScheme, A2AArtifact, A2AAuthenticationInfo, A2AAuthorizationCodeOAuthFlow, A2AClient, A2AClientCredentialsOAuthFlow, A2AClientOptions, A2ADeviceCodeOAuthFlow, A2AError, A2AErrorInfo, A2AHttpAuthSecurityScheme, A2AImplicitOAuthFlow, A2AListTaskPushNotificationConfigsResponse, A2AListTasksRequest, A2AListTasksResponse, A2AMessage, A2AMutualTlsSecurityScheme, A2AOAuth2SecurityScheme, A2AOAuthFlows, A2AOpenIdConnectSecurityScheme, A2APart, A2APasswordOAuthFlow, A2ARole, A2ASecurityRequirement, A2ASecurityScheme, A2ASendMessageConfiguration, A2AStreamEvent, A2ATask, A2ATaskArtifactUpdateEvent, A2ATaskPushNotificationConfig, A2ATaskState, A2ATaskStatus, A2ATaskStatusUpdateEvent, A2A_PROTOCOL_VERSION, UseA2ARuntimeOptions, UseA2AThreadListAdapter, a2aMessageToContent, a2aPartToContent, a2aPartsToContent, contentPartsToA2AParts, isInterruptedTaskState, isTerminalTaskState, taskStateToMessageStatus, useA2AAgentCard, useA2AArtifacts, useA2ARuntime, useA2ATask }; } declare function isInterruptedTaskState(state: A2ATaskState): boolean; declare function isTerminalTaskState(state: A2ATaskState): boolean; declare function taskStateToMessageStatus(state: A2ATaskState): MessageStatus; declare const useA2AAgentCard: () => A2AAgentCard | undefined; declare const useA2AArtifacts: () => readonly A2AArtifact[]; declare function useA2ARuntime(options: UseA2ARuntimeOptions): AssistantRuntime; declare const useA2ATask: () => A2ATask | undefined; export { entry_root_exports as entry_root };