/** @packageDocumentation * @module Viewport */ import * as React from "react"; import { Id64String } from "@bentley/bentleyjs-core"; import { IModelConnection, ScreenViewport, TentativePoint, ViewManager, ViewState } from "@bentley/imodeljs-frontend"; import { CommonProps } from "@bentley/ui-core"; /** Type for a ViewState prop * @public */ export declare type ViewStateProp = ViewState | (() => ViewState); /** * Properties for [[ViewportComponent]] component. * @public */ export interface ViewportProps extends CommonProps { /** IModel to display */ imodel: IModelConnection; /** Id of a default view definition to load as a starting point */ viewDefinitionId?: Id64String; /** ViewState to use as a starting point */ viewState?: ViewStateProp; /** Function to get a reference to the ScreenViewport */ viewportRef?: (v: ScreenViewport) => void; /** @internal */ onContextMenu?: (e: React.MouseEvent) => boolean; /** @internal */ getViewOverlay?: (viewport: ScreenViewport) => React.ReactNode; /** @internal used only for testing */ viewManagerOverride?: ViewManager; /** @internal used only for testing */ screenViewportOverride?: typeof ScreenViewport; /** @internal used only for testing */ tentativePointOverride?: TentativePoint; } /** @internal */ interface ViewportState { viewId: string; } /** * A viewport React component that creates a ScreenViewport. * @public */ export declare class ViewportComponent extends React.Component { private _viewportDiv; private _vp?; private _viewClassFullName; private _lastTargetPoint?; private _mounted; constructor(props: ViewportProps); private _handleDisconnectFromViewManager; componentDidMount(): Promise; componentWillUnmount(): void; componentDidUpdate(prevProps: ViewportProps): Promise; private getViewState; private _handleDrawingViewportChangeEvent; private _getRotatePoint; private _handleCubeRotationChangeEvent; private _handleStandardRotationChangeEvent; private _handleViewChanged; private _handleContextMenu; render(): JSX.Element; } export {}; //# sourceMappingURL=ViewportComponent.d.ts.map