import { f as LasciiEmitter, D as Disposable } from '../../events-BEskrvgv.cjs'; export { L as LasciiCompleteDetail, a as LasciiErrorDetail, b as LasciiEvent, d as LasciiProgressDetail, e as LasciiStartDetail } from '../../events-BEskrvgv.cjs'; type RevealOriginValue = "start" | "middle"; interface LasciiTextEffectOptions { introChars?: string; introPhaseFrames?: number; chars?: string; frameStartMax?: number; frameEndMax?: number; randomCharChance?: number; phraseDelay?: number; separator?: string; revealOrigin?: RevealOriginValue; reducedMotion?: boolean; } interface LasciiTextEffectDefaults extends Required> { } interface QueueItem { from: string; to: string; start: number; end: number; char: string; } declare class LasciiTextEffect extends LasciiEmitter implements Disposable { static RevealOrigin: Readonly<{ readonly START: "start"; readonly MIDDLE: "middle"; }>; static DEFAULTS: LasciiTextEffectDefaults; el: HTMLElement; config: LasciiTextEffectDefaults; queue: QueueItem[]; frame: number; frameRequest: number | null; resolve: (() => void) | null; safetyTimeout: ReturnType | null; phraseTimeout: ReturnType | null; rawText: string; phrases: string[]; shouldLoop: boolean; counter: number; failed: boolean; private readonly tracker; private readonly reduceMotion; constructor(element: HTMLElement, options?: LasciiTextEffectOptions); get disposed(): boolean; dispose(): void; private ensureNotDisposed; private handleError; private stopActiveWork; private fallbackToOriginal; extractPhrases(): string[]; clearInitialText(): void; start(): void; displayNextPhrase(): void; updateCounter(): void; setText(newText: string): Promise; buildQueue(oldText: string, newText: string, length: number): QueueItem[]; resetAnimation(): void; update: () => void; randomChar(): string; private completeAnimation; static init(selector?: string): LasciiTextEffect[]; } export { type LasciiTextEffectDefaults, type LasciiTextEffectOptions, type RevealOriginValue, LasciiTextEffect as default };