import * as React from 'react'; import Srl from "../data/Srl"; import SrlAbsolute from "./SrlAbsolutePosition/SrlAbsolute"; import TokenAbsolute from "./SrlAbsolutePosition/TokenAbsolute"; import LabelAbsolute from "./SrlAbsolutePosition/LabelAbsolute"; import DefaultInks from "./Inks"; import TokensSelection from "./Selection/TokensSelection"; import RoleSelection from "./Selection/RoleSelection"; import DragingSelection from "./Selection/DragingSelection"; export declare type Selection = null | TokensSelection | RoleSelection | DragingSelection; declare type Props = { srl: Srl; noArrow?: boolean; inks?: typeof DefaultInks; onRequestSelectionChange?: (selection: Selection) => void; onLayoutChange?: (layout: SrlAbsolute | null) => void; selection?: Selection; width?: number; }; declare type State = { srlAbsolute: null | SrlAbsolute; selection: Selection; }; declare class SrlVisualizer extends React.PureComponent { constructor(props: Props); handleSelect: (selection: DragingSelection | TokensSelection | RoleSelection | null) => void; getSelection(): null | Selection; handleLayoutChange: (srlAbsolute: SrlAbsolute | null) => void; componentWillReceiveProps(newProps: Props): void; render(): JSX.Element; renderSvg(): JSX.Element | undefined; renderSvgTokens(tokenAbsolutes: TokenAbsolute[]): (JSX.Element | null)[]; renderSvgLabels(labelAbsolutes: LabelAbsolute[]): (JSX.Element | null)[]; } export default SrlVisualizer;