/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';
import { IListItemComponent } from './list-item';
export interface IListItemAdapter extends IBaseAdapter<IListItemComponent> {
    readonly interactiveElement: HTMLElement | HTMLAnchorElement | undefined;
    initialize(): void;
    destroy(): void;
    initializeInteractiveObserver(listener: (value: boolean) => void): void;
    destroyInteractiveObserver(): void;
    addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    setActive(value: boolean): void;
    trySelect(value: unknown): boolean | null;
    animateStateLayer(): void;
    tempDeactivateFocusIndicator(): void;
}
export declare class ListItemAdapter extends BaseAdapter<IListItemComponent> implements IListItemAdapter {
    private readonly _rootElement;
    private readonly _defaultSlotElement;
    private readonly _leadingSlotElement;
    private readonly _trailingSlotElement;
    private _focusIndicatorElement;
    private _stateLayerElement;
    private _disabledAttrObserver;
    private _anchorAttrObserver;
    private _slotListener;
    private _interactiveStateChangeListener;
    private _interactiveElement;
    constructor(component: IListItemComponent);
    get interactiveElement(): HTMLElement | HTMLAnchorElement | undefined;
    initialize(): void;
    destroy(): void;
    initializeInteractiveObserver(listener: (value: boolean) => void): void;
    destroyInteractiveObserver(): void;
    addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    setActive(value: boolean): void;
    /**
     * Attempts to set the selected state of the list item element and it's visual indicators
     * @param value The value to compare to the parent list element's selected value
     * @returns Returns whether the list item is selected, or null otherwise.
     */
    trySelect(value: unknown): boolean | null;
    animateStateLayer(): void;
    tempDeactivateFocusIndicator(): void;
    private _onSlotChange;
    private _initializeInteractiveElement;
    private _attachInteractiveFormControl;
    private _attachInteractiveAnchor;
    private _attachInteractiveButtonLike;
    private _setInteractive;
    private _syncDisabled;
    private _getParentList;
    private _inheritParentListProps;
    private _tryCleanupObservers;
}
