@assistant-ui/react
Version:
React components for AI chat.
324 lines • 10.8 kB
TypeScript
import { ReadonlyStore } from "../ReadonlyStore";
import { AttachmentRuntime, AttachmentState } from "../../api/AttachmentRuntime";
import { UseBoundStore } from "zustand";
export type AttachmentContextValue = {
source: "thread-composer" | "edit-composer" | "message";
useAttachment: UseBoundStore<ReadonlyStore<AttachmentState>>;
useAttachmentRuntime: UseBoundStore<ReadonlyStore<AttachmentRuntime>>;
};
export declare const AttachmentContext: import("react").Context<AttachmentContextValue | null>;
export declare function useAttachmentContext(options?: {
optional?: false | undefined;
}): AttachmentContextValue;
export declare function useAttachmentContext(options?: {
optional?: boolean | undefined;
}): AttachmentContextValue | null;
export declare function useAttachmentRuntime(options?: {
optional?: false | undefined;
}): AttachmentRuntime;
export declare function useAttachmentRuntime(options?: {
optional?: boolean | undefined;
}): AttachmentRuntime | null;
export declare function useThreadComposerAttachmentRuntime(options?: {
optional?: false | undefined;
}): AttachmentRuntime;
export declare function useThreadComposerAttachmentRuntime(options?: {
optional?: boolean | undefined;
}): AttachmentRuntime | null;
export declare function useEditComposerAttachmentRuntime(options?: {
optional?: false | undefined;
}): AttachmentRuntime;
export declare function useEditComposerAttachmentRuntime(options?: {
optional?: boolean | undefined;
}): AttachmentRuntime | null;
export declare function useMessageAttachmentRuntime(options?: {
optional?: false | undefined;
}): AttachmentRuntime;
export declare function useMessageAttachmentRuntime(options?: {
optional?: boolean | undefined;
}): AttachmentRuntime | null;
export declare const useAttachment: {
(): AttachmentState;
<TSelected>(selector: (state: AttachmentState) => TSelected): TSelected;
(options: {
optional: true;
}): AttachmentState | null;
<TSelected>(options: {
optional: true;
selector?: (state: AttachmentState) => TSelected;
}): TSelected | null;
};
export declare const useThreadComposerAttachment: {
(): {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "thread-composer";
attachment: import("../..").PendingAttachment;
} & {
source: "thread-composer";
};
<TSelected>(selector: (state: {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "thread-composer";
attachment: import("../..").PendingAttachment;
} & {
source: "thread-composer";
}) => TSelected): TSelected;
(options: {
optional: true;
}): ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "thread-composer";
attachment: import("../..").PendingAttachment;
} & {
source: "thread-composer";
}) | null;
<TSelected>(options: {
optional: true;
selector?: (state: {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "thread-composer";
attachment: import("../..").PendingAttachment;
} & {
source: "thread-composer";
}) => TSelected;
}): TSelected | null;
};
export declare const useEditComposerAttachment: {
(): ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
}) | ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
});
<TSelected>(selector: (state: ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
}) | ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
})) => TSelected): TSelected;
(options: {
optional: true;
}): ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
}) | ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
}) | null;
<TSelected>(options: {
optional: true;
selector?: (state: ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").PendingAttachmentStatus;
file: File;
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
}) | ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "edit-composer";
attachment: import("../..").Attachment;
} & {
source: "edit-composer";
})) => TSelected;
}): TSelected | null;
};
export declare const useMessageAttachment: {
(): {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "message";
attachment: import("../..").CompleteAttachment;
} & {
source: "message";
};
<TSelected>(selector: (state: {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "message";
attachment: import("../..").CompleteAttachment;
} & {
source: "message";
}) => TSelected): TSelected;
(options: {
optional: true;
}): ({
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "message";
attachment: import("../..").CompleteAttachment;
} & {
source: "message";
}) | null;
<TSelected>(options: {
optional: true;
selector?: (state: {
id: string;
type: "image" | "document" | "file";
name: string;
contentType?: string;
file?: File;
content?: import("../..").CoreUserContentPart[];
} & {
status: import("../../types/AttachmentTypes").CompleteAttachmentStatus;
content: import("../..").CoreUserContentPart[];
} & {
source: "message";
attachment: import("../..").CompleteAttachment;
} & {
source: "message";
}) => TSelected;
}): TSelected | null;
};
//# sourceMappingURL=AttachmentContext.d.ts.map