import * as _vueuse_core0 from "@vueuse/core"; import * as vue from "vue"; import { MaybeRefOrGetter } from "vue"; //#region src/use-type-writer.d.ts /** * 打字机效果配置选项 */ type TypeWriterOptions = { /** * 每次打字的字符步长 * @default 1 */ step?: number; /** * 打字间隔时间(毫秒) * @default 50 */ interval?: number; /** * 是否启用打字效果,禁用时直接显示完整文本 * @default true */ enabled?: boolean; /** * 是否手动控制,为 true 时不自动开始 * @default false */ manual?: boolean; }; /** * 打字机效果 composable * * 创建一个打字机效果,可以逐字显示文本内容 * * @param value 要显示的文本,可以是 ref、getter 或普通字符串 * @param options 配置选项 * @returns 打字机效果的控制对象和状态 * * @example * ```ts * const text = ref('Hello World!') * const { typedValue, isTyping, start, stop } = useTypeWriter(text) * ``` * * @example * ```ts * const { typedValue } = useTypeWriter(text, { * step: 2, * interval: 100, * enabled: true, * manual: false * }) * ``` * * @example * ```ts * const { start, pause, resume, restart, stop } = useTypeWriter(text, { manual: true }) * start() * pause() * resume() * restart() * stop() * ``` */ declare function useTypeWriter(value: MaybeRefOrGetter, options?: TypeWriterOptions): { value: vue.Ref; typeIndex: vue.Ref; paused: vue.Ref; ended: vue.Ref; isTyping: vue.Ref; typedValue: vue.ComputedRef; progress: vue.ComputedRef; start: () => void; pause: () => void; resume: () => void; restart: () => void; stop: () => void; destroy: () => void; onStat: _vueuse_core0.EventHookOn; onStop: _vueuse_core0.EventHookOn; onUpdate: _vueuse_core0.EventHookOn<{ /** * 当前索引 */ index: number; /** * 已打字的值 */ value: string; }>; }; /** * useTypeWriter 函数的返回类型 */ type UseTypeWriterReturns = ReturnType; //#endregion export { TypeWriterOptions, UseTypeWriterReturns, useTypeWriter };