import type { CollapsibleRootProps } from 'reka-ui'; import type { VNode } from 'vue'; import type { AppConfig } from '@nuxt/schema'; import theme from '#build/b24ui/chat-reasoning'; import type { IconComponent } from '../types'; import type { ChatShimmerProps } from './ChatShimmer.vue'; import type { ComponentConfig } from '../types/tv'; type ChatReasoning = ComponentConfig; export interface ChatReasoningProps extends Pick { /** * The reasoning text content to display. */ text?: string; /** * Whether the reasoning content is currently streaming. * @defaultValue false */ streaming?: boolean; /** * The duration in seconds that the AI spent reasoning. * If not provided, it will be calculated automatically based on streaming time. */ duration?: number; /** * The icon displayed next to the trigger. * @IconifyIcon */ icon?: IconComponent; /** * The position of the chevron icon. * @defaultValue 'trailing' */ chevron?: 'leading' | 'trailing'; /** * The icon displayed as the chevron. * @defaultValue icons.chevronDown * @IconifyIcon */ chevronIcon?: IconComponent; /** * The delay in milliseconds before auto-closing when streaming ends. * Set to `0` to disable auto-close. * @defaultValue 500 */ autoCloseDelay?: number; /** * Customize the [`ChatShimmer`](https://bitrix24.github.io/b24ui/docs/components/chat-shimmer/) component when streaming. */ shimmer?: Partial>; class?: any; b24ui?: ChatReasoning['slots']; } export interface ChatReasoningEmits { 'update:open': [value: boolean]; } export interface ChatReasoningSlots { 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; }>, { open: boolean; streaming: boolean; unmountOnHide: boolean; chevron: "leading" | "trailing"; autoCloseDelay: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ChatReasoningSlots>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };