matrix-react-sdk
Version:
SDK for matrix.org using React
32 lines (31 loc) • 1.05 kB
TypeScript
import { ReactElement } from "react";
import { Room } from "matrix-js-sdk/src/matrix";
import AutocompleteProvider, { ICommand } from "./AutocompleteProvider";
import { TimelineRenderingType } from "../contexts/RoomContext";
export interface ISelectionRange {
beginning?: boolean;
start: number;
end: number;
}
export interface ICompletion {
type?: "at-room" | "command" | "community" | "room" | "user";
completion: string;
completionId?: string;
component: ReactElement;
range: ISelectionRange;
command?: string;
suffix?: string;
href?: string;
}
export interface IProviderCompletions {
completions: ICompletion[];
provider: AutocompleteProvider;
command: Partial<ICommand>;
}
export default class Autocompleter {
room: Room;
providers: AutocompleteProvider[];
constructor(room: Room, renderingType?: TimelineRenderingType);
destroy(): void;
getCompletions(query: string, selection: ISelectionRange, force?: boolean, limit?: number): Promise<IProviderCompletions[]>;
}