/// <reference types="react" />
import * as React from 'react';
import { IVirtualizedListProps } from './VirtualizedList.types';
import { IScrollContainerContext, ScrollContainerContextTypes } from '../../utilities/scrolling/ScrollContainer';
import { IObjectWithKey } from 'office-ui-fabric-react/lib/Selection';
import { BaseComponent } from 'office-ui-fabric-react/lib/Utilities';
export interface IVirtualizedListState {
    viewportHeight: number;
    items: React.ReactNode[];
}
export declare class VirtualizedList<TItem extends IObjectWithKey> extends BaseComponent<IVirtualizedListProps<TItem>, IVirtualizedListState> {
    static contextTypes: typeof ScrollContainerContextTypes;
    context: IScrollContainerContext;
    private _root;
    private _spacerElements;
    private _focusedIndex;
    constructor(props: IVirtualizedListProps<TItem>, context: IScrollContainerContext);
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUpdate(): void;
    render(): JSX.Element;
    private _updateObservedElements();
    private _renderItems(scrollTop, viewportHeight);
    private _renderRanges(ranges);
    private _renderSpacerItem(numberOfItems, index);
    private _spacerRef;
    private _render(scrollTop);
    private _onFocus(ev);
}
