import { AppObject, AppObjectEntity, AppObjectRepo, Vector2, Vector3 } from "@vived/core";
import { Transform3D } from "../../Transform3D";
export declare enum HoverLabelMode {
    NONE = 0,
    SCREEN = 1,
    WORLD = 2
}
export declare abstract class HoverLabelEntity extends AppObjectEntity {
    static readonly type = "HoverLabelEntity";
    abstract readonly transform: Transform3D;
    abstract get mode(): HoverLabelMode;
    abstract get show(): boolean;
    abstract get pixelPosition(): Vector2;
    abstract get label(): string;
    abstract get allowHoverLabel(): boolean;
    abstract set allowHoverLabel(allow: boolean);
    abstract showScreenHoverLabel: (label: string, pixelPosition: Vector2) => void;
    abstract showWorldHoverLabel: (label: string, worldPosition: Vector3) => void;
    abstract hideHoverLabel: () => void;
    static get(appObjects: AppObjectRepo): HoverLabelEntity | undefined;
}
export declare function makeHoverLabelEntity(appObject: AppObject): HoverLabelEntity;
//# sourceMappingURL=HoverLabelEntity.d.ts.map