// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only declare namespace Intl { type SegmenterOptions = { granularity?: 'grapheme' | 'word' | 'sentence'; }; type SegmentData = { index: number; input: string; segment: string; }; interface Segments { containing(index: number): SegmentData; [Symbol.iterator](): Iterator; } // `Intl.Segmenter` is not yet in TypeScript's type definitions, so we add it. class Segmenter { constructor(locale?: string, options?: SegmenterOptions); segment(str: string): Segments; } }