import type { ITextDisplayerData } from "../../main_thread/types"; import type { IRange } from "../../utils/ranges"; import type { ITextDisplayerInterface } from "../segment_sinks"; import type { IPushTextDataCoreMessage, IRemoveTextDataCoreMessage, IResetTextDisplayerCoreMessage, IStopTextDisplayerCoreMessage } from "../types"; /** * Implementation of an `ITextDisplayerInterface` for the Core, that can run in * a WebWorker (so, in a different thread than the `ITextDisplayer`). * * @class CoreTextDisplayerInterface */ export default class CoreTextDisplayerInterface implements ITextDisplayerInterface { private _contentId; private _messageSender; _queues: { pushTextData: Array<{ resolve: (ranges: IRange[]) => void; reject: (err: unknown) => void; }>; remove: Array<{ resolve: (ranges: IRange[]) => void; reject: (err: unknown) => void; }>; }; /** * @param {string} contentId * @param {Object} messageSender */ constructor(contentId: string, messageSender: (msg: ICoreTextDisplayerInterfaceMessage) => void); /** * @see ITextDisplayerInterface */ pushTextData(infos: ITextDisplayerData): Promise; /** * @see ITextDisplayerInterface */ remove(start: number, end: number): Promise; /** * @see ITextDisplayerInterface */ reset(): void; /** * @see ITextDisplayerInterface */ stop(reason: string | undefined): void; private _resetCurrentQueue; /** * @param {Array.} ranges */ onPushedTrackSuccess(ranges: IRange[]): void; /** * @param {unknown} err */ onPushedTrackError(err: Error): void; /** * @param {Array.} ranges */ onRemoveSuccess(ranges: IRange[]): void; /** * @param {unknown} err */ onRemoveError(err: Error): void; } type ICoreTextDisplayerInterfaceMessage = IPushTextDataCoreMessage | IRemoveTextDataCoreMessage | IStopTextDisplayerCoreMessage | IResetTextDisplayerCoreMessage; export {}; //# sourceMappingURL=core_text_displayer_interface.d.ts.map