import type { CollapsibleRootProps } from 'reka-ui'; import type { VNode } from 'vue'; import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/chat-tool'; import type { IconComponent } from '../types'; import type { ChatShimmerProps } from './ChatShimmer.vue'; import type { ComponentConfig } from '../types/tv'; type ChatTool = ComponentConfig; export interface ChatToolProps extends Pick { /** * The text content to display. */ text?: string; /** * The suffix text displayed after the main text. */ suffix?: string; /** * The icon displayed next to the trigger. * @IconifyIcon */ icon?: IconComponent; /** * Whether the tool is in a loading state. * @defaultValue false */ loading?: boolean; /** * Shows LoaderWaitIcon in loading mode * @defaultValue false */ useWait?: boolean; /** * Shows LoaderClockIcon icon in loading mode * @defaultValue false */ useClock?: boolean; /** * The icon displayed when loading. * @defaultValue icons.loading * @IconifyIcon */ loadingIcon?: IconComponent; /** * Whether the tool content is currently streaming. * @defaultValue false */ streaming?: boolean; /** * The visual variant of the tool display. * @defaultValue 'inline' */ variant?: ChatTool['variants']['variant']; /** * The position of the chevron icon. * @defaultValue 'trailing' */ chevron?: 'leading' | 'trailing'; /** * The icon displayed as the chevron. * @defaultValue icons.chevronDown * @IconifyIcon */ chevronIcon?: IconComponent; /** * Customize the [`ChatShimmer`](https://bitrix24.github.io/b24ui/docs/components/chat-shimmer/) component when streaming. */ shimmer?: Partial>; class?: any; b24ui?: ChatTool['slots']; } export interface ChatToolEmits { 'update:open': [value: boolean]; } export interface ChatToolSlots { default?(props: { open: boolean; }): VNode[]; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; }, string, import("vue").PublicProps, Readonly & Readonly<{ "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, { variant: ChatTool["variants"]["variant"]; loading: boolean; open: boolean; streaming: boolean; unmountOnHide: boolean; chevron: "leading" | "trailing"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatToolSlots>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };