import * as React from 'react'; import { TLShapeUtil } from '../../TLShapeUtil'; import { CursorComponent } from '../Cursor'; import { Inputs } from '../../inputs'; import type { TLAssets, TLBinding, TLBounds, TLCallbacks, TLPage, TLPageState, TLPerformanceMode, TLShape, TLSnapLine, TLTheme, TLUsers } from '../../types'; export declare type RendererProps = Partial> & { /** * An object containing instances of your shape classes. */ shapeUtils: { [K in T['type']]: TLShapeUtil; }; /** * The current page, containing shapes and bindings. */ page: TLPage; /** * The current page state. */ pageState: TLPageState; /** * A map of assets to be used in the renderer. */ assets?: TLAssets; /** * (optional) A unique id to be applied to the renderer element, used to scope styles. */ id?: string; /** * (optional) A ref for the renderer's container element, used for scoping event handlers. */ containerRef?: React.RefObject; /** * (optional) Custom components to override parts of the default UI. */ components?: { /** * The component to render for multiplayer cursors. */ Cursor?: CursorComponent; }; /** * (optional) To hide cursors */ hideCursors?: boolean; /** * (optional) An object of custom options that should be passed to rendered shapes. */ meta?: M; /** * (optional) The current users to render. */ users?: TLUsers; /** * (optional) The current snap lines to render. */ snapLines?: TLSnapLine[]; /** * (optional) The current erase line to render. */ eraseLine?: number[][]; /** * (optional) The current user's id, used to identify the user. */ userId?: string; /** * (optional) An object of custom theme colors. */ theme?: Partial; /** * (optional) When true, the renderer will not show the bounds for selected objects. */ hideBounds?: boolean; /** * (optional) When true, the renderer will not show the handles of shapes with handles. */ hideHandles?: boolean; /** * (optional) When true, the renderer will not show resize handles for selected objects. */ hideResizeHandles?: boolean; /** * (optional) When true, the renderer will not show rotate handles for selected objects. */ hideRotateHandles?: boolean; /** * (optional) When true, the renderer will not show buttons for cloning shapes. */ hideCloneHandles?: boolean; /** * (optional) When true, the renderer will not show binding controls. */ hideBindingHandles?: boolean; /** * (optional) When true, the renderer will not show indicators for selected or * hovered objects, */ hideIndicators?: boolean; /** * (optional) When true, the renderer will not show the grid. */ hideGrid?: boolean; /** * (optional) When true, the renderer will show a dashed brush. */ showDashedBrush?: boolean; /** * (optional) The size of the grid step. */ grid?: number; /** * (optional) Use a performance mode. */ performanceMode?: TLPerformanceMode; /** * (optional) A callback that receives the renderer's inputs manager. */ onMount?: (inputs: Inputs) => void; /** * (optional) A callback that is fired when the editor's client bounding box changes. */ onBoundsChange?: (bounds: TLBounds) => void; }; /** * The Renderer component is the main component of the library. It * accepts the current `page`, the `shapeUtils` needed to interpret * and render the shapes and bindings on the `page`, and the current * `pageState`. * @param props * @returns */ declare function _Renderer>({ id, shapeUtils, page, pageState, assets, users, userId, theme, meta, snapLines, eraseLine, grid, containerRef, performanceMode, components, hideHandles, hideIndicators, hideCloneHandles, hideBindingHandles, hideResizeHandles, hideRotateHandles, hideBounds, hideGrid, showDashedBrush, hideCursors, ...rest }: RendererProps): JSX.Element; export declare const Renderer: React.MemoExoticComponent; export {}; //# sourceMappingURL=Renderer.d.ts.map