import * as React from 'react';
import { SelectionLayout } from './SelectionLayout';
import { ISelection, ISelectionLayout, SelectionMode } from './interfaces';
export interface ISelectionZoneProps extends React.Props<SelectionZone> {
    selection: ISelection;
    layout?: ISelectionLayout;
    selectionMode: SelectionMode;
    isSelectedOnFocus?: boolean;
    onItemInvoked?: (item?: any, index?: number, ev?: Event) => void;
}
export declare class SelectionZone extends React.Component<ISelectionZoneProps, any> {
    static defaultProps: {
        layout: SelectionLayout;
        isMultiSelectEnabled: boolean;
        isSelectedOnFocus: boolean;
    };
    refs: {
        [key: string]: React.ReactInstance;
        root: HTMLElement;
    };
    private _events;
    private _isCtrlPressed;
    private _isShiftPressed;
    private _isMetaPressed;
    private _hasClickedOnItem;
    constructor();
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): JSX.Element;
    private _onFocus(ev);
    private _onMouseDown(ev);
    private _onClick(ev);
    private _onKeyChangeCapture(ev);
    private _onKeyDown(ev);
    private _isToggleElement(element, attributeName);
    private _isInputElement(element);
    private _getIndexFromElement(element, traverseParents?);
}
