/** * Copyright (c) Microsoft. All rights reserved. */ import * as React from 'react'; import { LineStore } from '../../stores/LineStore'; import { AnnotationData, AnnotationKind, GlobalEventExceptionPredicates, ISvgRenderer, ISvgRendererPropsFactory, ITokenRendererProps, ITokenStore, LineHeightCalculator, SvgRendererKind, TokenPaddingCalculator, TokenToCharMapType } from '../../types/labelerTypes'; export type LayoutControllerProps = { text: string; labelerHeight?: string; labelerOverflow?: string; lineStores: LineStore[]; tokenToCharMap: TokenToCharMapType; getLineHeight?: LineHeightCalculator; tokenPaddingCalculators?: TokenPaddingCalculator[]; onSvgRenderMap?: Map; globalEventExceptionSelectors?: GlobalEventExceptionPredicates; onRenderAnnotationColor?: (annotation: AnnotationData) => string; onTokenRender: (props: ITokenRendererProps, defaultRenderer?: (props: ITokenRendererProps) => React.ReactNode) => React.ReactNode; annotationToSvgPropsMap?: Map; }; /** * This component is responsible for creating and laying * out lines, mounting the SVG layout controller and passing * the correct data to it, mounting any global even listeners, * and managing virtualization of lines. */ export declare const LayoutController: React.ForwardRefExoticComponent & React.RefAttributes>;