import { CCMPWorldObject } from "../worldObject/CCMPWorldObject";
import { type IMarker } from "../../common/marker/IMarker";
import { BaseObjectType, type IMarkerType } from "../../../../shared";
import { type IVector3D } from "../../../../shared/common/utils/math/Vectors";
import { type IRGBA } from "../../../../shared/common/utils/color/RGBA";
import type { Marker as CcmpMarker } from "@classic-mp/types/server";
export interface ICCMPMarkerOptions {
    ccmpMarker: CcmpMarker;
    onDestroy: (marker: CCMPMarker) => void;
}
export declare class CCMPMarker extends CCMPWorldObject implements IMarker {
    private readonly _ccmpMarker;
    private readonly _onDestroy;
    get id(): number;
    get type(): BaseObjectType;
    get isExists(): boolean;
    get position(): IVector3D;
    get dimension(): number;
    get markerType(): IMarkerType;
    get visible(): boolean;
    get scale(): number;
    get color(): IRGBA;
    get rotation(): IVector3D;
    constructor(options: ICCMPMarkerOptions);
    destroy(): void;
    setPosition(value: IVector3D): void;
    setDimension(value: number): void;
    getNetData(name: string): unknown;
    setNetData(name: string, value: unknown): void;
    setVisible(value: boolean): void;
    setScale(value: number): void;
    setColor(value: IRGBA): void;
    setRotation(value: IVector3D): void;
}
