/** @packageDocumentation
 * @module ConfigurableUi
 */
import "./ConfigurableUiContent.scss";
import * as React from "react";
import type { CommonProps } from "@itwin/core-react";
import type { StagePanelSection } from "../stagepanels/StagePanelSection.js";
import type { StagePanelLocation } from "../stagepanels/StagePanelLocation.js";
/** @internal */
export declare const ConfigurableUiContext: React.Context<ConfigurableUiContentProps & {
    contentElementRef?: React.RefObject<HTMLElement | null>;
    widgetActions?: StandardLayoutProps["widgetActions"];
    toolSettings?: StandardLayoutProps["toolSettings"];
}>;
/** Properties for [[ConfigurableUiContent]]
 * @public
 * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ConfigurableUiContent>`
 */
export interface ConfigurableUiContentProps extends CommonProps {
    /** React node of the Backstage */
    appBackstage?: React.ReactNode;
    /** Controls if the view overlay should be displayed. Uses redux store as a fallback. Defaults to `true`.
     * @note Only used by configurable control APIs. See {@link ContentProps.classId}.
     * @deprecated in 4.16.0. View overlay visibility should be controlled by the components used in {@link ContentProps.content}.
     */
    viewOverlay?: boolean;
    /** Describes the opacity of widgets. Uses redux store as a fallback. Defaults to {@link WIDGET_OPACITY_DEFAULT}. */
    widgetOpacity?: number;
    /** Controls if the widget icons should be displayed. Uses redux store as a fallback. Defaults to `true`. */
    widgetIcon?: boolean;
    /** Controls if the active widget's label should always be displayed. Defaults to `false`. */
    showActiveWidgetLabel?: boolean;
    /** Controls if the unpinned panels should be collapsed automatically. Uses redux store as a fallback. Defaults to `false`. */
    collapsePanels?: boolean;
    /** Controls if the tool settings should be animated. Uses redux store as a fallback. Defaults to `false`. */
    animateToolSettings?: boolean;
    /** Controls if the tool settings label should be set based on activated tool. Uses redux store as a fallback. Defaults to `false`. */
    toolAsToolSettingsLabel?: boolean;
    /** Describes the opacity of toolbars. Uses redux store as a fallback. Defaults to {@link TOOLBAR_OPACITY_DEFAULT}. */
    toolbarOpacity?: number;
    /** Component to wrap all popout widgets and other child windows opened via {@link UiFramework.childWindows}. */
    childWindow?: React.ComponentType;
    /** @internal */
    idleTimeout?: number;
    /** @internal */
    intervalTimeout?: number;
}
/**
 * Allows children to get the bounds or other properties of the wrapper element.
 * @internal
 */
export declare const WrapperContext: React.Context<HTMLElement>;
/** The main component of `AppUI` that sets up the configurable UI.
 * @public
 */
export declare function ConfigurableUiContent(props: ConfigurableUiContentProps): React.JSX.Element;
interface ToolSettingsLocation {
    section: StagePanelSection;
    location: StagePanelLocation;
}
interface StandardLayoutProps {
    /** Overrides widget specific actions displayed in the title bar area.
     * Use {@link WidgetActions} component to customize widget actions.
     * @alpha
     */
    widgetActions?: React.ReactNode;
    /** When enabled keeps the tool settings visible to the end user.
     * This is especially useful when the tool settings is undocked as a regular widget.
     * @alpha
     */
    visibleToolSettings?: boolean;
    /** Tool settings related configuration.
     * @alpha
     */
    toolSettings?: {
        /** The default location of the tool settings. Only used when initializing the layout and ignored when restoring a saved layout.
         * When this is specified, the tool settings will be initialized as a widget, instead of the default docked state.
         * @note Use {@link Widget} for further configuration. I.e. set {@link Widget.defaultState} to {@link WidgetState.Floating} to initialize the tool settings as a floating widget.
         * @alpha
         */
        defaultLocation?: ToolSettingsLocation;
    };
}
/** The standard widget based layout used as a default layout for all frontstages.
 * @alpha
 */
export declare function StandardLayout(props: StandardLayoutProps): React.JSX.Element;
export {};
//# sourceMappingURL=ConfigurableUiContent.d.ts.map