/** @packageDocumentation * @module ContentView */ import * as React from "react"; import type { Id64String } from "@itwin/core-bentley"; import type { IModelConnection, ScreenViewport, ViewState } from "@itwin/core-frontend"; import type { ViewportProps, ViewStateProp } from "@itwin/imodel-components-react"; import type { ConfigurableCreateInfo } from "../configurableui/ConfigurableUiControl.js"; import { ViewportContentControl } from "./ViewportContentControl.js"; /** Viewport that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer. * @note Requires redux provider. * @public * @deprecated in 4.15.0. Use {@link @itwin/imodel-components-react#ViewportComponent} instead. */ export declare function IModelConnectedViewport(props: Omit): React.JSX.Element | null; /** [[IModelViewportControl]] options. These options are set in the applicationData property of the [[ContentProps]]. * @public * @deprecated in 4.16.0. Used in a deprecated class {@link IModelViewportControl}. */ export interface IModelViewportControlOptions { /** ViewState or a function to return a ViewState */ viewState?: ViewStateProp; /** IModelConnection of data in Viewport */ iModelConnection?: IModelConnection | (() => IModelConnection); /** Map of options that can be used to enable/disable features within the view */ featureOptions?: { [key: string]: any; }; /** Optional background color which may be used if viewState and iModelConnection are undefined */ bgColor?: string; /** Optional property to always use the supplied `viewState` property instead of using viewport.view when set */ alwaysUseSuppliedViewState?: boolean; /** Optional property to supply custom view overlay. Uses when caller want to supply custom overlay component. */ supplyViewOverlay?: (_viewport: ScreenViewport) => React.ReactNode; /** Optional property to defer reactNode initialization until first reactNode property is needed. Useful when subClassing the `IModelViewportControl`. */ deferNodeInitialization?: boolean; } interface ViewOverlayHostProps { viewport: ScreenViewport; featureOptions?: { [key: string]: any; }; userSuppliedOverlay?: (_viewport: ScreenViewport) => React.ReactNode; } /** @internal */ export declare function ViewOverlayHost({ viewport, featureOptions, userSuppliedOverlay, }: ViewOverlayHostProps): React.JSX.Element | null; /** iModel Viewport Control * @public * @deprecated in 4.16.0. Use {@link @itwin/imodel-components-react#ViewportComponent} component instead. */ export declare class IModelViewportControl extends ViewportContentControl { protected _options: IModelViewportControlOptions; static get id(): string; protected _featureOptions: { [key: string]: boolean | string; }; protected _viewState: ViewStateProp | undefined; protected _iModelConnection: IModelConnection | undefined; protected _alwaysUseSuppliedViewState: boolean; private _userSuppliedViewOverlay?; constructor(info: ConfigurableCreateInfo, _options: IModelViewportControlOptions); protected initializeReactNode(): void; protected getReactNode(): React.ReactNode; /** * This is passed as a function to the ViewportComponent as the `viewState` prop in getImodelViewportReactElement(). * It is called by ViewportComponent on a mount to resolve the viewState. */ private _determineViewState; /** Get the React component that will contain the Viewport */ protected getImodelConnectedViewportReactElement(): React.ReactNode; /** Get the React component that will contain the Viewport */ protected getImodelViewportReactElement(iModelConnection: IModelConnection, viewState: ViewStateProp): React.ReactNode; /** Get the React component that will be shown when no iModel data is available */ protected getNoContentReactElement(_options: IModelViewportControlOptions): React.ReactNode; /** Get the React.Element for a ViewSelector change. */ getReactElementForViewSelectorChange(iModelConnection: IModelConnection, _unusedViewDefinitionId: Id64String, viewState: ViewState, _name: string): React.ReactNode; /** Get the default ViewOverlay unless parameter is set to not use it. May be override in an application specific sub-class */ protected _getViewOverlay: (vp: ScreenViewport) => React.ReactNode; /** Get the NavigationAidControl associated with this ContentControl */ get navigationAidControl(): string; } export {}; //# sourceMappingURL=IModelViewport.d.ts.map