import { LitElement, TemplateResult, PropertyValueMap, CSSResult } from 'lit';
import type { ItemProperty, PoeItem, Requirement, Socket } from '../poe.types.js';
import './poe-socket-chain.js';
import { SimpleTooltip } from './simple-tooltip.js';
import './simple-tooltip.js';
import './tooltip-json-icon.js';
import './item-info/poe-item-info.js';
import { JsonIconElement } from './tooltip-json-icon.js';
/**
 * @cssprop --cell-size            - Size of one tab cell in pixels.
 * @cssprop --poe-item-size        - Size of item.
 * @cssprop --stack-size-font-size - Font size of stack size.
 */
export declare class PoeItemElement extends LitElement {
    #private;
    /** PoE API item data https://www.pathofexile.com/developer/docs/reference#stashes-get */
    item: PoeItem;
    /** Controls the visibility of sockets.
     *
     *  If set to true, sockets are always visible.
     *  If set to false, sockets are only visible when the Alt key is pressed or when hovered over.
     */
    alwaysShowSockets: boolean;
    /** Whether an item is displayed in inventory(or stash tab) or not. It gets blue background, if yes */
    placed: boolean;
    /** Main visibility state for sockets */
    socketsVisible: boolean;
    hovered: boolean;
    altPressed: boolean;
    iconJson?: JsonIconElement;
    protected willUpdate(map: PropertyValueMap<this>): Promise<void>;
    get tooltipElement(): SimpleTooltip | null;
    protected render(): TemplateResult;
    constructor();
    private onHoveredSocketedItemChanged;
    protected firstUpdated(): void;
    private onJClick;
    private onHoverCtrlCClick;
    private onMouseEnter;
    private onMouseLeave;
    private onAltPressed;
    private onAltReleased;
    connectedCallback(): void;
    disconnectedCallback(): void;
    static styles: CSSResult;
}
export declare class ItemIntoTextTransformer {
    #private;
    item: PoeItem;
    constructor(item: PoeItem);
    transform(): string;
    groupSockets(): void;
    get sockets(): Array<Socket>;
    get enchantments(): Array<string>;
    get properties(): Array<ItemProperty>;
    get requirements(): Array<Requirement>;
    get implicits(): Array<string>;
    get explicits(): Array<string>;
    get crafts(): Array<string>;
    get fracturedMods(): Array<string>;
}
declare global {
    interface HTMLElementTagNameMap {
        'poe-item': PoeItemElement;
    }
}
//# sourceMappingURL=poe-item.d.ts.map