import { InboxAction, InboxMessage } from '@trycourier/courier-js';
import { CourierBaseElement } from '@trycourier/courier-ui-core';
import { CourierInboxTheme } from '../types/courier-inbox-theme';
import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager';
import { CourierInboxListItemAction } from '../types/inbox-defaults';
export declare class CourierInboxListItem extends CourierBaseElement {
    static get id(): string;
    private _themeManager;
    private _theme;
    private _message;
    private _isMobile;
    private _canClick;
    private _listItemActions;
    private _titleElement?;
    private _subtitleElement?;
    private _timeElement?;
    private _menu?;
    private _unreadIndicator?;
    private _actionsContainer?;
    private _longPressTimeout;
    private _isLongPress;
    private _observer?;
    private onItemClick;
    private onItemLongPress;
    private onItemActionClick;
    private onItemVisible;
    constructor(themeManager: CourierInboxThemeManager, canClick: boolean, _canLongPress: boolean, listItemActions?: CourierInboxListItemAction[]);
    private render;
    private _setupIntersectionObserver;
    onComponentUnmounted(): void;
    static getStyles(theme: CourierInboxTheme): string;
    private _setupHoverBehavior;
    private _setupLongPressBehavior;
    private _getMenuOptions;
    private _showMenu;
    private _hideMenu;
    setMessage(message: InboxMessage): void;
    setOnItemClick(cb: (message: InboxMessage) => void): void;
    setOnItemActionClick(cb: (message: InboxMessage, action: InboxAction) => void): void;
    setOnItemLongPress(cb: (message: InboxMessage) => void): void;
    setOnItemVisible(cb: (message: InboxMessage) => void): void;
    private _updateContent;
}
