UNPKG

@assistant-ui/react

Version:

React components for AI chat.

949 lines 90.2 kB
import type { ThreadViewportState } from "../stores/ThreadViewport"; import { ReadonlyStore } from "../ReadonlyStore"; import { UseBoundStore } from "zustand"; import { ThreadRuntime } from "../../api/ThreadRuntime"; import { ThreadState } from "../../api/ThreadRuntime"; import { ModelConfig, ThreadMessage } from "../../types"; import { ThreadComposerState } from "../../api/ComposerRuntime"; export type ThreadContextValue = { useThread: UseBoundStore<ReadonlyStore<ThreadState>>; /** * @deprecated Use `useThreadRuntime` instead. This will be removed in 0.6.0. */ useThreadActions: UseBoundStore<ReadonlyStore<ThreadRuntime>>; useThreadRuntime: UseBoundStore<ReadonlyStore<ThreadRuntime>>; useThreadMessages: UseBoundStore<ReadonlyStore<readonly ThreadMessage[]>>; useComposer: UseBoundStore<ReadonlyStore<ThreadComposerState>>; useViewport: UseBoundStore<ReadonlyStore<ThreadViewportState>>; }; export declare const ThreadContext: import("react").Context<ThreadContextValue | null>; export declare const useThreadContext: { (options?: { optional?: false | undefined; } | undefined): ThreadContextValue; (options?: { optional?: boolean | undefined; } | undefined): ThreadContextValue | null; }; export declare function useThreadRuntime(options?: { optional?: false | undefined; }): ThreadRuntime; export declare function useThreadRuntime(options?: { optional?: boolean | undefined; }): ThreadRuntime | null; export declare const actions: { useThreadActions: { (): Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>; <TSelected>(selector: (state: Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>) => TSelected): TSelected; (options: { optional: true; }): Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }> | null; <TSelected>(options: { optional: true; selector?: (state: Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>) => TSelected; }): TSelected | null; }; } & { useThreadActionsStore: { (): ReadonlyStore<Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>>; (options: { optional: true; }): ReadonlyStore<Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>> | null; }; }; /** * @deprecated Use `useThreadRuntime` instead. This will be removed in 0.6.0. */ export declare const useThreadActionsStore: { (): ReadonlyStore<Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>>; (options: { optional: true; }): ReadonlyStore<Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMessageById: (messageId: string) => { parentId: string | null; message: ThreadMessage; } | undefined; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; append: (message: import("../..").AppendMessage) => void; startRun: (parentId: string | null) => void; cancelRun: () => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; stopSpeaking: () => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getModelConfig: () => ModelConfig; composer: import("../../runtimes/core/ComposerRuntimeCore").ThreadComposerRuntimeCore; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; subscribe: (callback: () => void) => import("../..").Unsubscribe; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; }>; append(message: import("../../api/ThreadRuntime").CreateAppendMessage): void; startRun(parentId: string | null): void; subscribe(callback: () => void): import("../..").Unsubscribe; cancelRun(): void; getModelConfig(): ModelConfig; export(): import("../../runtimes/utils/MessageRepository").ExportedMessageRepository; import(repository: import("../../runtimes/utils/MessageRepository").ExportedMessageRepository): void; getMesssageByIndex(idx: number): import("../..").MessageRuntime; getMesssageById(messageId: string): import("../..").MessageRuntime; stopSpeaking: () => void; unstable_on(event: import("../../runtimes/core/ThreadRuntimeCore").ThreadRuntimeEventType, callback: () => void): import("../..").Unsubscribe; capabilities: Readonly<Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>>; threadId: string; isDisabled: boolean; isRunning: boolean; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; extras: unknown; getBranches: (messageId: string) => readonly string[]; switchToBranch: (branchId: string) => void; addToolResult: (options: import("../..").AddToolResultOptions) => void; speak: (messageId: string) => void; getSubmittedFeedback: (messageId: string) => import("../../runtimes/core/ThreadRuntimeCore").SubmittedFeedback | undefined; submitFeedback: (feedback: import("../..").SubmitFeedbackOptions) => void; getEditComposer: (messageId: string) => import("../../runtimes/core/ComposerRuntimeCore").ComposerRuntimeCore | undefined; beginEdit: (messageId: string) => void; }>> | null; }; /** * @deprecated Use `useThreadRuntime` instead. This will be removed in 0.6.0. */ export declare const useThreadActions: { (): Readonly<{ readonly path: import("../../api/RuntimePathTypes").ThreadRuntimePath; readonly composer: import("../..").ThreadComposerRuntime; getState(): Readonly<{ threadId: string; isDisabled: boolean; isRunning: boolean; capabilities: Readonly<{ switchToBranch: boolean; edit: boolean; reload: boolean; cancel: boolean; unstable_copy: boolean; speech: boolean; attachments: boolean; feedback: boolean; }>; messages: readonly ThreadMessage[]; suggestions: readonly import("../..").ThreadSuggestion[]; extras: unknown; speech: Readonly<{ messageId: string; status: import("../..").SpeechSynthesisAdapter.Status; }> | undefined; }>; unstable_getCore(): Readonly<{ getMess