/** @packageDocumentation
 * @module Item
 */
import * as React from "react";
import { CommonProps, NoChildrenProps, Orientation, Size } from "@itwin/core-react";
import { Direction, ToolbarPanelAlignment } from "@itwin/appui-layout-react";
import { ItemList } from "../shared/ItemMap";
/** Properties of [[Toolbar]] component. An ancestor of this toolbar must provide the WidgetOpacityContext.
 * @internal
 */
export interface ToolbarProps extends CommonProps, NoChildrenProps {
    /** Items of the toolbar. */
    items: ItemList;
    /** Orientation of the toolbar. */
    orientation: Orientation;
    /** Logging and debugging Id */
    toolbarId?: string;
    /** Describes to which direction the history/panel items are expanded. Defaults to: [[Direction.Bottom]] */
    expandsTo?: Direction;
    /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */
    panelAlignment?: ToolbarPanelAlignment;
    /** initial size */
    initialSize?: Size;
}
/** State of [[Toolbar]] component.
 * @internal
 */
interface ToolbarState {
    width: number;
    height: number;
    items: React.ReactNode;
}
/** Toolbar React component.
 * @internal
 */
export declare class Toolbar extends React.Component<ToolbarProps, ToolbarState> {
    private _dimension;
    private _minToolbarSize;
    private _isMounted;
    constructor(props: ToolbarProps);
    private get _toolbarId();
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: ToolbarProps, _prevState: ToolbarState): void;
    private setCurrentStateValues;
    private _processSyncUiEvent;
    private _handleSyncUiEvent;
    private layoutToolbarItems;
    private generateToolbarItems;
    private _onResize;
    private hasVisibleItems;
    render(): JSX.Element | null;
}
export {};
//# sourceMappingURL=Toolbar.d.ts.map