import * as React from 'react';
import { BaseComponent } from '../../Utilities';
import { ICommandBar, ICommandBarProps } from './CommandBar.Props';
import { FocusZone } from '../../FocusZone';
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;
        commandSurface: HTMLElement;
        farCommandSurface: HTMLElement;
        commandBarRegion: HTMLElement;
        searchSurface: HTMLElement;
        focusZone: FocusZone;
    };
    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, index, expandedMenuItemKey, isFarItem?);
    private _renderIcon(item);
    private _asyncMeasure();
    private _updateItemMeasurements();
    private _updateRenderedItems();
    private _onItemClick(ev, item);
    private _onOverflowClick(ev);
    private _onContextMenuDismiss(ev?);
    private _getStateFromProps(nextProps);
    private _getContextualMenuPropsAfterUpdate(renderedItems, overflowItems);
    private _getContextualMenuPropsFromItem(item);
}
