import { PropertyValues, TemplateResult } from 'lit';
import { UiElement } from '../../UiElement.js';
import { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js';
import UiRipple from '../../ripple/internals/ripple.js';
import '@material/web/focus/md-focus-ring.js';
import '../../ripple/ui-ripple.js';
export declare enum ListItemLines {
    one = "one",
    two = "two",
    three = "three"
}
export declare enum ListItemImage {
    icon = "icon",
    avatar = "avatar",
    image = "image",
    video = "video",
    auto = "auto"
}
/**
 * @slot
 * @slot start
 * @slot end
 * @slot end-text
 * @slot supporting-text
 */
export default class UiListItem extends UiElement {
    accessor ripple: UiRipple;
    /**
     * Whether the chip is disabled. The user can't interact with the chip when `true`.
     * @attribute
     */
    accessor disabled: boolean;
    /**
     * The number of lines to render the list template for.
     * @default ListItemLines.one
     * @attribute
     */
    accessor lines: ListItemLines;
    /**
     * The type of the list image.
     * @default ListItemImage.icon
     * @attribute
     */
    accessor image: ListItemImage;
    /**
     * Whether the list item is static and should not be focusable.
     * The ripple effect will not be applied when `true`.
     * @default false
     * @attribute
     */
    accessor static: boolean;
    accessor tabIndex: number;
    constructor();
    protected updated(changedProperties: PropertyValues<this>): void;
    connectedCallback(): void;
    protected willUpdate(cp: PropertyValues<this>): void;
    handleKeyDown(e: KeyboardEvent): void;
    handleKeyUp(e: KeyboardEvent): void;
    beginPress(options: BeginPressConfig): void;
    endPress(options: EndPressConfig): void;
    handlePointerEnter(e: PointerEvent): void;
    handlePointerLeave(e: PointerEvent): void;
    /**
     * Focuses list item and makes list item focusable via keyboard.
     */
    activate(): void;
    /**
     * Returns true if list item is currently focused and is focusable.
     */
    isActive(): boolean;
    /**
     * Removes list item from sequential keyboard navigation.
     */
    deactivate(): void;
    protected handleSlotChange(): void;
    protected render(): TemplateResult;
    protected renderRipple: () => TemplateResult;
    protected renderFocusRing(): TemplateResult;
    protected renderStart(): TemplateResult;
    protected renderEnd(): TemplateResult;
    protected renderBody(): TemplateResult;
}
//# sourceMappingURL=ListItem.d.ts.map