///
export declare function useChat(props: any, emit: any): {
chatList: import("vue").Ref<{
actions?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
animation?: "gradient" | "skeleton" | "moving";
avatar?: ((h: typeof import("vue").h) => import("..").SlotReturnValue) | {
[x: number]: string;
toString: () => string;
charAt: (pos: number) => string;
charCodeAt: (index: number) => number;
concat: (...strings: string[]) => string;
indexOf: (searchString: string, position?: number) => number;
lastIndexOf: (searchString: string, position?: number) => number;
localeCompare: {
(that: string): number;
(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
};
match: {
(regexp: string | RegExp): RegExpMatchArray;
(matcher: {
[Symbol.match](string: string): RegExpMatchArray;
}): RegExpMatchArray;
};
replace: {
(searchValue: string | RegExp, replaceValue: string): string;
(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
(searchValue: {
[Symbol.replace](string: string, replaceValue: string): string;
}, replaceValue: string): string;
(searchValue: {
[Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
}, replacer: (substring: string, ...args: any[]) => string): string;
};
search: {
(regexp: string | RegExp): number;
(searcher: {
[Symbol.search](string: string): number;
}): number;
};
slice: (start?: number, end?: number) => string;
split: {
(separator: string | RegExp, limit?: number): string[];
(splitter: {
[Symbol.split](string: string, limit?: number): string[];
}, limit?: number): string[];
};
substring: (start: number, end?: number) => string;
toLowerCase: () => string;
toLocaleLowerCase: (locales?: string | string[]) => string;
toUpperCase: () => string;
toLocaleUpperCase: (locales?: string | string[]) => string;
trim: () => string;
readonly length: number;
substr: (from: number, length?: number) => string;
valueOf: () => string;
codePointAt: (pos: number) => number;
includes: (searchString: string, position?: number) => boolean;
endsWith: (searchString: string, endPosition?: number) => boolean;
normalize: {
(form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
(form?: string): string;
};
repeat: (count: number) => string;
startsWith: (searchString: string, position?: number) => boolean;
anchor: (name: string) => string;
big: () => string;
blink: () => string;
bold: () => string;
fixed: () => string;
fontcolor: (color: string) => string;
fontsize: {
(size: number): string;
(size: string): string;
};
italics: () => string;
link: (url: string) => string;
small: () => string;
strike: () => string;
sub: () => string;
sup: () => string;
padStart: (maxLength: number, fillString?: string) => string;
padEnd: (maxLength: number, fillString?: string) => string;
trimEnd: () => string;
trimStart: () => string;
trimLeft: () => string;
trimRight: () => string;
matchAll: (regexp: RegExp) => IterableIterator;
replaceAll: {
(searchValue: string | RegExp, replaceValue: string): string;
(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
};
at: (index: number) => string;
[Symbol.iterator]: () => IterableIterator;
} | {
alt?: string;
content?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
default?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
hideOnLoadFailed?: boolean;
icon?: (h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue;
image?: string;
imageProps?: {
alt?: string;
error?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
fallback?: string;
fit?: "fill" | "none" | "contain" | "cover" | "scale-down";
gallery?: boolean;
lazy?: boolean;
loading?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
overlayContent?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
overlayTrigger?: "always" | "hover";
placeholder?: string | ((h: typeof import("vue").h) => import("tdesign-vue-next").SlotReturnValue);
position?: string;
referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url";
shape?: "square" | "round" | "circle";
src?: string | {
readonly lastModified: number;
readonly name: string;
readonly webkitRelativePath: string;
readonly size: number;
readonly type: string;
arrayBuffer: {
(): Promise;
(): Promise;
};
slice: {
(start?: number, end?: number, contentType?: string): Blob;
(start?: number, end?: number, contentType?: string): Blob;
};
stream: {
(): ReadableStream;
(): NodeJS.ReadableStream;
};
text: {
(): Promise;
(): Promise;
};
};
srcset?: {
'image/avif': string;
'image/webp': string;
};
onError?: (context: {
e: Event;
}) => void;
onLoad?: (context: {
e: Event;
}) => void;
};
shape?: import("tdesign-vue-next").ShapeEnum;
size?: string;
onError?: (context: {
e: Event;
}) => void;
};
content?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
datetime?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
name?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
reasoning?: boolean | {
expandIconPlacement?: "left" | "right";
onExpandChange?: (isExpand: boolean) => void;
collapsePanelProps?: Object;
collapsed?: boolean;
};
role?: "error" | "user" | "assistant" | "model-change" | "system";
textLoading?: boolean;
variant?: "outline" | "base" | "text";
}[]>;
loading: import("vue").Ref;
isStreamLoad: import("vue").Ref;
onStop: () => void;
setChatList: (inputValue: string) => void;
operation: (type: string, options: {
e: MouseEvent;
index: number;
}) => void;
clearConfirm: (context: {
e: MouseEvent;
}) => void;
sendRequest: (type: string, inputValue: string, modelOrMofaId?: string) => Promise;
};