export type TextExpanderMatch = { text: string; key: string; position: number; }; export type TextExpanderResult = { fragment?: HTMLElement; matched: boolean; }; export type TextExpanderKey = { key: string; multiWord: boolean; }; export type TextExpanderChangeEvent = Event & { detail?: { key: string; text: string; provide: (result: Promise | TextExpanderResult) => void; }; }; export default class TextExpanderElement extends HTMLElement { get keys(): TextExpanderKey[]; set keys(value: string); connectedCallback(): void; disconnectedCallback(): void; dismiss(): void; }