/** @packageDocumentation
 * @module StatusBar
 */
import "./StatusBar.scss";
import * as React from "react";
import { CommonDivProps, CommonProps } from "@itwin/core-react";
import { ActivityMessageEventArgs } from "../messages/MessageManager";
import { StatusBarFieldId, StatusBarWidgetControl, StatusBarWidgetControlArgs } from "./StatusBarWidgetControl";
/** State for the [[StatusBar]] React component
 * @internal
 */
interface StatusBarState {
    openWidget: StatusBarFieldId;
    activityMessageInfo: ActivityMessageEventArgs | undefined;
}
/** Properties for the [[StatusBar]] React component
 * @public
 */
export interface StatusBarProps extends CommonProps {
    widgetControl?: StatusBarWidgetControl;
    /** Indicates whether the StatusBar is in footer mode
     * @deprecated in 3.3. In upcoming version, widget mode will be removed. Consider this parameter to always be true.
    */
    isInFooterMode?: boolean;
}
/** Status Bar React component.
 * @public
 */
export declare class StatusBar extends React.Component<StatusBarProps, StatusBarState> {
    private messages;
    /** @internal */
    constructor(props: StatusBarProps);
    render(): React.ReactNode;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private _handleMessageAddedEvent;
    private _updateMessages;
    /** Respond to clearing the message list */
    private _handleMessagesUpdatedEvent;
    /**
     * Sets state of the status bar to updated values reflecting activity progress.
     * @param args  New values to set for ActivityMessage
     */
    private _handleActivityMessageUpdatedEvent;
    /**
     * Hides ActivityMessage after cancellation
     */
    private _handleActivityMessageCancelledEvent;
    private getFooterMessages;
    /**
     * Ends canceled process and dismisses ActivityMessage
     */
    private _cancelActivityMessage;
    private _handleOpenWidget;
    private _closeMessage;
    private _handleToastTargetRef;
}
/** StatusBar With Space Between Items React functional component
 * @public
 */
export declare function StatusBarSpaceBetween(props: CommonDivProps): JSX.Element;
/** StatusBar Left Section React functional component
 * @public
 */
export declare function StatusBarLeftSection(props: CommonDivProps): JSX.Element;
/** StatusBar Center Section React functional component
 * @public
 */
export declare function StatusBarCenterSection(props: CommonDivProps): JSX.Element;
/** StatusBar Right Section React functional component
 * @public
 */
export declare function StatusBarRightSection(props: CommonDivProps): JSX.Element;
/** Context providing values for StatusFieldProps and MessageCenterFieldProps
 *  @internal
 */
export declare const StatusBarContext: React.Context<StatusBarWidgetControlArgs>;
export {};
//# sourceMappingURL=StatusBar.d.ts.map