/// import EventEmitter from "events"; import { Awaitable, WriterEvent, WriterFinished, WriterProgress, WriterStart } from "../types/events"; import { ExpectedWriterOptions, WriterOptions } from "../types/options"; export default interface Writer { on(event: "START", callback: (event: WriterStart) => Awaitable): this; on(event: "PROGRESS", callback: (event: WriterProgress) => Awaitable): this; on(event: "FINISHED", callback: (event: WriterFinished) => Awaitable): this; on(event: WriterEvent, callback: (event: WriterStart | WriterProgress | WriterFinished) => Awaitable): this; once(event: "START", callback: (event: WriterStart) => Awaitable): this; once(event: "PROGRESS", callback: (event: WriterProgress) => Awaitable): this; once(event: "FINISHED", callback: (event: WriterFinished) => Awaitable): this; once(event: WriterEvent, callback: (event: WriterStart | WriterProgress | WriterFinished) => Awaitable): this; emit(event: "START", ...args: WriterStart[]): boolean; emit(event: "PROGRESS", ...args: WriterProgress[]): boolean; emit(event: "FINISHED", ...args: WriterFinished[]): boolean; emit(event: WriterEvent, ...args: (WriterStart | WriterProgress | WriterFinished)[]): boolean; } export default class Writer extends EventEmitter { target: Element; options: ExpectedWriterOptions; textProcess: string[][]; lastText: string; progress: string; finalText: string; indexRun: number; indexType: number; enabled: boolean; setFinalText: boolean; writeResolver: (() => void) | null; paused: boolean; constructor(target: Element, options: WriterOptions); write(): Promise; pause(): void; continue(): void; cancel(setFinalText: boolean): void; private typeCharacter; private processText; private getInterval; private getRandomInteger; }