/** @packageDocumentation
 * @module ContentView
 */
/// <reference types="react" />
import type { Id64String } from "@itwin/core-bentley";
import type { IModelConnection, ScreenViewport, ViewState } from "@itwin/core-frontend";
import { ConfigurableCreateInfo, ConfigurableUiControlType } from "../configurableui/ConfigurableUiControl";
import type { SupportsViewSelectorChange } from "./ContentControl";
import { ContentControl } from "./ContentControl";
/** The base class for frontstage Viewport content controls that connects to a `ScreenViewport`
 * that is managed by the `ViewManager`.
 * @public
 * @deprecated in 4.16.0. Extends a deprecated class {@link ContentControl}.
 */
export declare class ViewportContentControl extends ContentControl implements SupportsViewSelectorChange {
    private _viewport;
    private _isReady;
    private _viewportReadyCallback?;
    /** Creates an instance of ViewportContentControl.
     * @param info         An object that the subclass must pass to this base class.
     * @param options      Options provided via the applicationData in a [[ContentProps]].
     */
    constructor(info: ConfigurableCreateInfo, options: any);
    /** Gets the type of ConfigurableUiControl, which is 'Viewport' in this case */
    getType(): ConfigurableUiControlType;
    /** Returns true if this control is a Viewport control. */
    get isViewport(): boolean;
    /** The underlying ScreenViewport */
    get viewport(): ScreenViewport | undefined;
    set viewport(v: ScreenViewport | undefined);
    /** Returns a promise that resolves when the control is ready for usage.
     */
    setIsReady(): void;
    /** Returns a promise that resolves when the control is ready for usage.
     */
    get isReady(): Promise<void>;
    /** Called when this ContentControl is activated */
    onActivated(): void;
    /** Get the NavigationAidControl associated with this ContentControl */
    get navigationAidControl(): string;
    /**
     * Fetches appropriate NavigationAid based on the class of the current viewport.
     * @param classFullName The full name of the current viewport class.
     * @returns The ID of the navigation aid to be displayed.
     */
    private _getNavigationAid;
    /** Returns true if this control supports processing ViewSelector changes. */
    get supportsViewSelectorChange(): boolean;
    /** Process a ViewSelector change. */
    processViewSelectorChange(iModel: IModelConnection, viewDefinitionId: Id64String, viewState: ViewState, name: string): Promise<void>;
    /** Get the React.Element for a ViewSelector change. */
    getReactElementForViewSelectorChange(_iModel: IModelConnection, _viewDefinitionId: Id64String, _viewState: ViewState, _name: string): React.ReactNode;
}
/**
 * @beta
 * @deprecated in 4.16.0. Extends a deprecated class {@link ViewportContentControl}.
 */
export declare class FloatingViewportContentControl extends ViewportContentControl {
    constructor(uniqueId: string, name: string, node: React.ReactNode);
    /** The React node associated with this control. */
    get reactNode(): React.ReactNode;
    set reactNode(r: React.ReactNode);
}
//# sourceMappingURL=ViewportContentControl.d.ts.map