/** @packageDocumentation
 * @module Frontstage
 */
import * as React from "react";
import { StageUsage } from "@itwin/appui-abstract";
import { StagePanelProps } from "../stagepanels/StagePanel";
import { ContentGroupProps, ContentGroupProvider } from "../content/ContentGroup";
import { FrontstageProvider } from "./FrontstageProvider";
import { FrontstageProps } from "./Frontstage";
import { ToolItemDef } from "../shared/ToolItemDef";
/** Properties of a [[WidgetPanelProps]] component
 * @public
 */
export declare type WidgetPanelProps = Omit<StagePanelProps, "widgets" | "runtimeProps" | "header" | "allowedZones" | "panelZones">;
/**
 * Props for [[StandardFrontstageProvider]]
 * @public
 */
export interface StandardFrontstageProps {
    id: string;
    version?: number;
    usage: StageUsage | string;
    /** Definition of available content groups or a function that provides them */
    contentGroupProps: ContentGroupProps | ContentGroupProvider;
    /** Specify button to use to open backstage. Leave undefined for no backstage button.
     * ```
     * <BackstageAppButton icon={"icon-bentley-systems"} />
     * ```
     * Custom corner button definition
     * ```
     * const cornerButton = <BackstageAppButton icon={"icon-bentley-systems"}
     *   label="Toggle Backstage display",
     *   execute={() => BackstageManager.getBackstageToggleCommand().execute()} />;
     * ```
     */
    cornerButton?: React.ReactNode;
    /** Set to true if default Navigation aid is not desired */
    hideNavigationAid?: boolean;
    /** Set to true if no tool setting dock is needed. Typically only used in modal stages. */
    hideToolSettings?: boolean;
    /** Set to true if no status bar is needed in stage */
    hideStatusBar?: boolean;
    /** Props used to set initial size and state of panel. Defaults to:
     *  {size: 300, pinned=false, defaultState:StagePanelState.Minimized} */
    leftPanelProps?: WidgetPanelProps;
    /** Props used to set initial size and state of panel. Defaults to:
     *  {size: 90, pinned=false, defaultState:StagePanelState.Minimized} */
    topPanelProps?: WidgetPanelProps;
    /** Props used to set initial size and state of panel. Defaults to:
     *  {size: 200, pinned=true, defaultState:StagePanelState.Open} */
    rightPanelProps?: WidgetPanelProps;
    /** Props used to set initial size and state of panel. Defaults to:
     *  {size: 180, pinned=true, defaultState:StagePanelState.Open} */
    bottomPanelProps?: WidgetPanelProps;
    /** Application data is not require but exists for stages to pass feature settings to UiItemsProviders.
     * It is expected that the UiItemsProvider supply an xxxAppData interface to define the properties it
     * supports. See [[DefaultContentToolsAppData]] for an example.
     */
    applicationData?: any;
    /** The defaultTool is is started when then frontstage loads and whenever any other tools exit.
     * Most of the time, this is the Element Selection Tool (CoreTools.selectElementCommand).
     * Your app can specify its own tool or another core tool as default with this property.
     */
    defaultTool?: ToolItemDef;
}
/**
 * FrontstageProvider that provides an "empty" stage. All tool buttons, statusbar items, and widgets must
 * be provided by one or more item providers, see [UiItemsProvider]($appui-abstract).
 * @public
 */
export declare class StandardFrontstageProvider extends FrontstageProvider {
    private props;
    constructor(props: StandardFrontstageProps);
    get id(): string;
    get frontstage(): React.ReactElement<FrontstageProps>;
}
//# sourceMappingURL=StandardFrontstageProvider.d.ts.map