import { default as TxStreamElement } from './src/TxStreamElement.vue';
/**
* TxStreamElement — a whole AI answer, streamed: Markdown (or structured parts)
* rendered word by word on one clock, headings, lists, quotes and code in
* order, `[n]` markers as citation chips, tables, math and diagrams handed to
* TxStreamMarkdown, and the stream state for the host's own UI.
*
* @example
* ```ts
* import { TxStreamElement } from '@talex-touch/tuffex'
*
* //
* ```
*
* @public
*/
declare const StreamElement: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{
onDone?: (() => any) | undefined;
onCite?: ((source: import('..').AiSourceItem) => any) | undefined;
"onState-change"?: ((state: import('..').StreamState) => any) | undefined;
}>, {
state: import('vue').ComputedRef;
replay: () => void;
skip: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
done: () => any;
cite: (source: import('..').AiSourceItem) => any;
"state-change": (state: import('..').StreamState) => any;
}, import('vue').PublicProps, {
streaming: boolean;
content: string;
caret: boolean;
locale: string;
reveal: import('..').StreamRevealPreset;
reserve: boolean;
}, false, {}, {}, Record, Record, string, {
liveRef: HTMLDivElement;
}, HTMLDivElement, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{
onDone?: (() => any) | undefined;
onCite?: ((source: import('..').AiSourceItem) => any) | undefined;
"onState-change"?: ((state: import('..').StreamState) => any) | undefined;
}>, {
state: import('vue').ComputedRef;
replay: () => void;
skip: () => void;
}, {}, {}, {}, {
streaming: boolean;
content: string;
caret: boolean;
locale: string;
reveal: import('..').StreamRevealPreset;
reserve: boolean;
}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{
onDone?: (() => any) | undefined;
onCite?: ((source: import('..').AiSourceItem) => any) | undefined;
"onState-change"?: ((state: import('..').StreamState) => any) | undefined;
}>, {
state: import('vue').ComputedRef;
replay: () => void;
skip: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
done: () => any;
cite: (source: import('..').AiSourceItem) => any;
"state-change": (state: import('..').StreamState) => any;
}, string, {
streaming: boolean;
content: string;
caret: boolean;
locale: string;
reveal: import('..').StreamRevealPreset;
reserve: boolean;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
[name: `part-${string}`]: ((props: {
part: {
type: "custom";
name: string;
props?: Record;
};
state: import('..').StreamState;
}) => any) | undefined;
caret?: (props: {
state: import('..').StreamState;
}) => any;
citation?: (props: {
source: import('..').AiSourceItem;
label?: string;
index?: number;
}) => any;
inline?: (props: {
name: string;
props?: Record;
}) => any;
code?: (props: {
part: {
type: "code";
lang?: string;
code: string;
filename?: string;
};
code: string;
streaming: boolean;
}) => any;
footer?: (props: {
state: import('..').StreamState;
done: boolean;
}) => any;
}> & {
[name: `part-${string}`]: ((props: {
part: {
type: "custom";
name: string;
props?: Record;
};
state: import('..').StreamState;
}) => any) | undefined;
caret?: (props: {
state: import('..').StreamState;
}) => any;
citation?: (props: {
source: import('..').AiSourceItem;
label?: string;
index?: number;
}) => any;
inline?: (props: {
name: string;
props?: Record;
}) => any;
code?: (props: {
part: {
type: "code";
lang?: string;
code: string;
filename?: string;
};
code: string;
streaming: boolean;
}) => any;
footer?: (props: {
state: import('..').StreamState;
done: boolean;
}) => any;
};
}) & import('vue').Plugin;
export { StreamElement, TxStreamElement };
export { parseStreamMarkdown } from './src/parse';
export type { ParseOptions as StreamElementParseOptions } from './src/parse';
export type { StreamElementEmits, StreamElementProps, StreamListItem, StreamPart } from './src/types';
export type TxStreamElementInstance = InstanceType;
export default StreamElement;