import { ListItem } from '../list-item/list-item.types';
import { ListSeparator } from '../../global/shared-types/separator.types';
import { ListRendererConfig } from './list-renderer-config';
export declare class ListRenderer {
    private defaultConfig;
    private config;
    private applyTabIndexToItemAtIndex;
    render(items: Array<ListItem | ListSeparator>, config?: ListRendererConfig): any;
    /**
     * `aria-orientation` is valid for `listbox` and `radiogroup`,
     * but not for group (used for checkboxes).
     * @param role
     */
    private getAriaOrientation;
    /**
     * Determine which ListItem should have the `tab-index` attribute set,
     * and return the index at which that ListItem is located in `items`.
     * Returns `undefined` if no item should have the attribute set.
     * See https://github.com/material-components/material-components-web/tree/e66a43a75fef4f9179e24856649518e15e279a04/packages/mdc-list#accessibility
     *
     * @param items - the items of the list, including any `ListSeparator`:s
     * @returns the index as per the description
     */
    private getIndexForWhichToApplyTabIndex;
    /**
     * Render a single list item
     *
     * @param item - the item to render
     * @param index - the index the item had in the `items` array
     * @returns the list item
     */
    private renderListItem;
    private renderTextForSeparator;
}
//# sourceMappingURL=list-renderer.d.ts.map