@assistant-ui/react
Version:
React components for AI chat.
106 lines • 3.69 kB
TypeScript
import { ReadonlyStore } from "../ReadonlyStore";
import { MessageUtilsState } from "../stores/MessageUtils";
import { UseBoundStore } from "zustand";
import { MessageRuntime } from "../../api/MessageRuntime";
import { MessageState } from "../../api/MessageRuntime";
import { EditComposerState } from "../../api/ComposerRuntime";
export type MessageContextValue = {
useMessageRuntime: UseBoundStore<ReadonlyStore<MessageRuntime>>;
useMessage: UseBoundStore<ReadonlyStore<MessageState>>;
useMessageUtils: UseBoundStore<ReadonlyStore<MessageUtilsState>>;
useEditComposer: UseBoundStore<ReadonlyStore<EditComposerState>>;
};
export declare const MessageContext: import("react").Context<MessageContextValue | null>;
export declare const useMessageContext: {
(options?: {
optional?: false | undefined;
} | undefined): MessageContextValue;
(options?: {
optional?: boolean | undefined;
} | undefined): MessageContextValue | null;
};
export declare function useMessageRuntime(options?: {
optional?: false | undefined;
}): MessageRuntime;
export declare function useMessageRuntime(options?: {
optional?: boolean | undefined;
}): MessageRuntime | null;
export declare const useMessage: {
(): MessageState;
<TSelected>(selector: (state: MessageState) => TSelected): TSelected;
(options: {
optional: true;
}): MessageState | null;
<TSelected>(options: {
optional: true;
selector?: (state: MessageState) => TSelected;
}): TSelected | null;
}, useMessageStore: {
(): ReadonlyStore<MessageState>;
(options: {
optional: true;
}): ReadonlyStore<MessageState> | null;
};
export declare const useMessageUtils: {
(): Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}>;
<TSelected>(selector: (state: Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}>) => TSelected): TSelected;
(options: {
optional: true;
}): Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}> | null;
<TSelected>(options: {
optional: true;
selector?: (state: Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}>) => TSelected;
}): TSelected | null;
}, useMessageUtilsStore: {
(): ReadonlyStore<Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}>>;
(options: {
optional: true;
}): ReadonlyStore<Readonly<{
isCopied: boolean;
setIsCopied: (value: boolean) => void;
isHovering: boolean;
setIsHovering: (value: boolean) => void;
}>> | null;
};
export declare const useEditComposer: {
(): EditComposerState;
<TSelected>(selector: (state: EditComposerState) => TSelected): TSelected;
(options: {
optional: true;
}): EditComposerState | null;
<TSelected>(options: {
optional: true;
selector?: (state: EditComposerState) => TSelected;
}): TSelected | null;
}, useEditComposerStore: {
(): ReadonlyStore<EditComposerState>;
(options: {
optional: true;
}): ReadonlyStore<EditComposerState> | null;
};
//# sourceMappingURL=MessageContext.d.ts.map