import { OnInit, EventEmitter, ElementRef, AfterViewInit } from '@angular/core';
import { Highlightable } from '@angular/cdk/a11y';
export declare class OptionSelectionChange {
    source: ListItemComponent;
    isUserInput: boolean;
    constructor(source: ListItemComponent, isUserInput?: boolean);
}
export declare class ListItemComponent implements Highlightable, OnInit, AfterViewInit {
    el: ElementRef;
    checkedValues: string[];
    checkStatus: boolean;
    readonly isSelectOption: boolean;
    constructor(el: ElementRef);
    /** @prop Active prop to determine styles | false */
    active: boolean;
    /** @prop selected prop to determine styles | false */
    selected: boolean;
    /** @prop Disabled attribute for ListItem to determine styles | false */
    disabled: boolean;
    /** @prop Sets ListItem to a focus state | false */
    focus: boolean;
    /** @prop Sets ListItem id | null */
    id: string;
    /** @prop Determines if is part of a multi select | false */
    isMulti: boolean;
    /** @prop Determines if ListItem is clickable | false */
    isReadOnly: boolean;
    /** @prop ListItem text and form value | '' */
    label: any;
    /** @prop external link associated input | '' */
    link: string;
    /** @prop ListItem ref name | 'navLink' */
    role: any;
    readonly myRole: string;
    /** @prop Controls whether to show separator or not | false */
    separator: boolean;
    /** @prop ListItem Title | '' */
    title: string;
    /** @prop ListItem size | '' */
    private _type;
    type: string;
    /** @prop ListItem value for OnSelect value | '' */
    value: string | number | object | any[];
    selectionChange: EventEmitter<OptionSelectionChange>;
    readonly myHref: string;
    readonly theTitle: any;
    handleClick: (event: MouseEvent) => void;
    handleKeydown: (event: any) => void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    select(): void;
    /** Deselects the option. */
    deselect(): void;
    setActiveStyles(): void;
    setInactiveStyles(): void;
    getLabel?(): string;
    _selectViaInteraction(): void;
    _emitSelectionChangeEvent(isUserInput?: boolean): void;
    _isTypeOptionValid: () => boolean;
    _getHostElement(): any;
    /** Gets whether the button has one of the given attributes. */
    _hasHostAttributes(...attributes: string[]): boolean;
}
