/// <reference types="react" />
import * as React from 'react';
import { BaseComponent } from '../../Utilities';
import { ICommandBar, ICommandBarProps } from './CommandBar.types';
import { IContextualMenuProps, IContextualMenuItem } from '../../ContextualMenu';
export interface ICommandBarState {
    renderedItems?: IContextualMenuItem[];
    renderedOverflowItems?: IContextualMenuItem[];
    expandedMenuItemKey?: string;
    expandedMenuId?: string;
    contextualMenuProps?: IContextualMenuProps;
    contextualMenuTarget?: HTMLElement;
    renderedFarItems?: IContextualMenuItem[];
}
export declare class CommandBar extends BaseComponent<ICommandBarProps, ICommandBarState> implements ICommandBar {
    static defaultProps: ICommandBarProps;
    refs: {
        [key: string]: React.ReactInstance;
    };
    private _searchSurface;
    private _commandSurface;
    private _commandBarRegion;
    private _farCommandSurface;
    private _focusZone;
    private _overflow;
    private _id;
    private _overflowWidth;
    private _commandItemWidths;
    constructor(props: ICommandBarProps);
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: ICommandBarProps): void;
    componentDidUpdate(prevProps: ICommandBarProps, prevStates: ICommandBarState): void;
    render(): JSX.Element;
    focus(): void;
    private _renderItemInCommandBar(item, expandedMenuItemKey, isFarItem?);
    private _renderIcon(item);
    private _asyncMeasure();
    private _updateItemMeasurements();
    private _updateRenderedItems();
    private _onItemClick(item);
    private _onOverflowClick;
    private _onContextMenuDismiss;
    private _getStateFromProps(nextProps);
    private _getContextualMenuPropsAfterUpdate(renderedItems, overflowItems);
    private _getContextualMenuPropsFromItem(item);
}
