/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import { type IObservableValue, type IObservableArray } from "mobx";
import type { CatalogEntity } from "../../../../common/catalog";
import type { HotbarItem, CreateHotbarData } from "./types";
import type { Logger } from "@openlens/logger";
export interface HotbarDependencies {
    readonly logger: Logger;
}
export interface HotbarData {
    readonly id: string;
    readonly name: string;
    readonly items: (HotbarItem | null)[];
}
export declare class Hotbar {
    private readonly dependencies;
    readonly id: string;
    readonly name: IObservableValue<string>;
    readonly items: IObservableArray<HotbarItem | null>;
    constructor(dependencies: HotbarDependencies, data: CreateHotbarData);
    isFull(): boolean;
    hasEntity(entityId: string): boolean;
    private findClosestEmptyIndex;
    restack(from: number, to: number): void;
    toggleEntity(item: CatalogEntity): void;
    removeEntity(uid: string): void;
    addEntity(item: CatalogEntity, cellIndex?: number): void;
    toJSON(): HotbarData;
}
