import * as React from 'react'; import Srl from "../data/Srl"; import TokensSelection from "./Selection/TokensSelection"; import RoleSelection from "./Selection/RoleSelection"; import DragingSelection from "./Selection/DragingSelection"; import { Selection } from "./SrlVisualizer"; import EditHistory from './EditHistory'; import { FrameLabelSet } from "../data/FrameLabelSet"; declare type Anchor = { left: number; top: number; }; declare type Props = { srl: Srl; noArrow?: boolean; onRequestSrlChange?: (srl: Srl) => void; width?: number; frameLabelSets: FrameLabelSet[]; }; declare type Inks = string[]; declare type State = { srl?: Srl; selectedFrame: null | number; selection: Selection; menuAnchor: null | Anchor; }; declare class SrlEditable extends React.Component { currMousePos: Anchor; state: State; history: EditHistory; getInksThatHighlightFrame(frameIndex: null | number): Inks; getSrl(): Srl; handleSelectionChange: (selection: DragingSelection | TokensSelection | RoleSelection | null) => void; handleSrlChange: (srl: Srl) => void; handleMenuClose: () => void; pushHistory(): void; popHistory: () => void; addFrame(predLabel: string): void; addRole(name: string): void; removeFrame(): void; removeRole(): void; changeRole(name: string): void; static findFrameLabelSet(frameLabelSets: FrameLabelSet[], srl: Srl): FrameLabelSet | null; renderMenuList(): JSX.Element | null; render(): JSX.Element; } export default SrlEditable;