import { IconSize } from '../icon/icon.types';
import { ListItem, ListSeparator } from '../list-item/list-item.types';
import { ListType } from './list.types';
import { EventEmitter } from '../../stencil-public-runtime';
/**
 * @exampleComponent limel-example-list
 * @exampleComponent limel-example-list-secondary
 * @exampleComponent limel-example-list-separator
 * @exampleComponent limel-example-list-icons
 * @exampleComponent limel-example-list-badge-icons
 * @exampleComponent limel-example-list-pictures
 * @exampleComponent limel-example-list-selectable
 * @exampleComponent limel-example-list-checkbox-icons
 * @exampleComponent limel-example-list-radio-button-icons
 * @exampleComponent limel-example-list-action
 * @exampleComponent limel-example-list-striped
 * @exampleComponent limel-example-list-badge-icons-with-multiple-lines
 * @exampleComponent limel-example-list-grid
 * @exampleComponent limel-example-list-primary-component
 */
export declare class List {
    /**
     * List of items to display
     */
    items: Array<ListItem | ListSeparator>;
    /**
     * Set to `true` if the list should display larger icons with a background
     */
    badgeIcons: boolean;
    /**
     * Size of the icons in the list
     */
    iconSize: IconSize;
    /**
     * The type of the list, omit to get a regular list. Available types are:
     * `selectable`: regular list with single selection.
     * `radio`: radio button list with single selection.
     * `checkbox`: checkbox list with multiple selection.
     */
    type: ListType;
    /**
     * By default, lists will display 3 lines of text, and then truncate the rest.
     * Consumers can increase or decrease this number by specifying
     * `maxLinesSecondaryText`. If consumer enters zero or negative
     * numbers we default to 1; and if they type decimals we round up.
     */
    maxLinesSecondaryText: number;
    private element;
    private config;
    private listRenderer;
    private mdcList;
    private multiple;
    private selectable;
    /**
     * Fired when a new value has been selected from the list.
     * Only fired if `type` is set to `selectable`, `radio` or `checkbox`.
     */
    private change;
    /**
     * Fired when an action has been selected from the action menu of a list item
     */
    protected select: EventEmitter<ListItem | ListItem[]>;
    /**
     * Fires when a user interacts with an item in the list (e.g., click,
     * keyboard select).
     */
    interact: EventEmitter<ListItem>;
    connectedCallback(): void;
    disconnectedCallback(): void;
    componentDidLoad(): void;
    render(): any;
    protected handleType(): void;
    protected itemsChanged(): void;
    private setup;
    private setupList;
    private setupListeners;
    private teardown;
    private handleAction;
    private handleSingleSelect;
    private handleMultiSelect;
    private isListItem;
    private triggerIconColorWarning;
}
//# sourceMappingURL=list.d.ts.map