import { default as TxStreamCaret } from './src/TxStreamCaret.vue';
import { default as TxStreamText } from './src/TxStreamText.vue';
/**
* TxStreamText — text that streams in word by word: a steady cadence however
* bursty the source, each word fading in out of a blur while its colour sweeps
* onto the ink, citation chips arriving inline, and the Tuff caret while live.
* The foundation of `TxStreamElement`.
*
* @example
* ```ts
* import { TxStreamText } from '@talex-touch/tuffex'
*
* //
* ```
*
* @public
*/
declare const StreamText: {
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;
tag: string;
appear: boolean;
caret: boolean;
locale: string;
reveal: import('.').StreamRevealPreset;
reserve: boolean;
paced: boolean;
}, false, {}, {}, Record, Record, string, {}, any, 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;
tag: string;
appear: boolean;
caret: boolean;
locale: string;
reveal: import('.').StreamRevealPreset;
reserve: boolean;
paced: 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;
tag: string;
appear: boolean;
caret: boolean;
locale: string;
reveal: import('.').StreamRevealPreset;
reserve: boolean;
paced: boolean;
}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
$slots: Readonly<{
caret?: (props: {
state: import('.').StreamState;
}) => any;
citation?: (props: {
source: import('..').AiSourceItem;
label?: string;
index?: number;
}) => any;
inline?: (props: {
name: string;
props?: Record;
}) => any;
}> & {
caret?: (props: {
state: import('.').StreamState;
}) => any;
citation?: (props: {
source: import('..').AiSourceItem;
label?: string;
index?: number;
}) => any;
inline?: (props: {
name: string;
props?: Record;
}) => any;
};
}) & import('vue').Plugin;
/** TxStreamCaret — the Tuff logo as a stream caret, for hosts that place it themselves. */
declare const StreamCaret: {
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, Record, Record, string, {}, any, import('vue').ComponentProvideOptions, {
P: {};
B: {};
D: {};
C: {};
M: {};
Defaults: {};
}, Readonly & Readonly<{}>, {}, {}, {}, {}, {}>;
__isFragment?: never;
__isTeleport?: never;
__isSuspense?: never;
} & import('vue').ComponentOptionsBase & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin;
export { StreamCaret, StreamText, TxStreamCaret, TxStreamText };
export { STREAM_PACING_DEFAULTS, STREAM_REVEAL_DURATION_MS, streamRevealDuration } from './src/presets';
export { segmentWords } from './src/segment';
export type { WordUnit } from './src/segment';
export type { StreamCaretProps, StreamInline, StreamMark, StreamRevealPreset, StreamState, StreamTextEmits, StreamTextProps, } from './src/types';
export { useStreamPacer } from './src/use-stream-pacer';
export type { StreamPacer, StreamPacerOptions } from './src/use-stream-pacer';
export type TxStreamTextInstance = InstanceType;
export default StreamText;