import { AiSourceItem } from '../../ai-elements/src/types'; import { StreamState } from '../../stream-text/src/types'; import { StreamElementProps, StreamPart } from './types'; type CodePart = Extract; type CustomPart = Extract; declare function replay(): void; declare function skip(): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly<{ [name: `part-${string}`]: ((props: { part: CustomPart; state: StreamState; }) => any) | undefined; /** Replaces the stream caret; rendered at the write head while the stream is live. */ caret?: (props: { state: StreamState; }) => any; /** Replaces a citation chip. */ citation?: (props: { source: AiSourceItem; label?: string; index?: number; }) => any; /** Renders a custom inline inside text. */ inline?: (props: { name: string; props?: Record; }) => any; /** Replaces a code block; `code` is what has been revealed so far. */ code?: (props: { part: CodePart; code: string; streaming: boolean; }) => any; /** Below the answer; `done` once the last word is shown and the source has finished. */ footer?: (props: { state: StreamState; done: boolean; }) => any; }> & { [name: `part-${string}`]: ((props: { part: CustomPart; state: StreamState; }) => any) | undefined; /** Replaces the stream caret; rendered at the write head while the stream is live. */ caret?: (props: { state: StreamState; }) => any; /** Replaces a citation chip. */ citation?: (props: { source: AiSourceItem; label?: string; index?: number; }) => any; /** Renders a custom inline inside text. */ inline?: (props: { name: string; props?: Record; }) => any; /** Replaces a code block; `code` is what has been revealed so far. */ code?: (props: { part: CodePart; code: string; streaming: boolean; }) => any; /** Below the answer; `done` once the last word is shown and the source has finished. */ footer?: (props: { state: StreamState; done: boolean; }) => any; }; refs: { liveRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent; /** Plays the whole answer again from the first word. */ replay: typeof replay; /** Shows everything now, without entrances. */ skip: typeof skip; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { done: () => any; cite: (source: AiSourceItem) => any; "state-change": (state: StreamState) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onDone?: (() => any) | undefined; onCite?: ((source: AiSourceItem) => any) | undefined; "onState-change"?: ((state: StreamState) => any) | undefined; }>, { streaming: boolean; content: string; caret: boolean; locale: string; reveal: import('../..').StreamRevealPreset; reserve: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { liveRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };