/// <reference types="lodash" />
export default InteractiveMarkers;
declare class InteractiveMarkers extends Core {
    static makeInteractiveMarkerFeedbackMessage({ seq, frame_id: frameId, client_id: clientId, marker_name: markerName, control_name: controlName, position, quaternion, }: {
        seq: any;
        frame_id: any;
        client_id: any;
        marker_name: any;
        control_name: any;
        position: any;
        quaternion: any;
    }): ROSLIB.Message;
    static makeInteractiveMarkerFeedbackTopic(ros: any, name: any): ROSLIB.Topic;
    constructor(ros: any, topicName: any, viewer: any, options?: {
        queueSize: number;
        namespaces: never[];
        throttleRate: number;
        publishThrottleRate: number;
        hideOtherHandlesOnSelect: boolean;
        hideOtherControlsInstancesOnSelect: boolean;
    });
    init: boolean;
    object: Group;
    viewer: any;
    interactiveMarkerManager: InteractiveMarkerManager;
    interactiveMarkersNames: Set<any>;
    interactiveMarkersFrameIds: Set<any>;
    clientId: string;
    messageSequence: number;
    feedbackTopic: ROSLIB.Topic | null;
    debouncedPublish: ((object: any, handleName: any) => void) & import("lodash").Cancelable;
    publishManual(pose: any): void;
    freeformControls: ControlsManager | null | undefined;
    initFreeformControls(): void;
    publish(object: any, handleName: any): void;
}
import Core from "../core";
import Group from "../primitives/Group";
import InteractiveMarkerManager from "../utils/interactiveMarkerManager";
import ROSLIB from "roslib";
import { ControlsManager } from "three-freeform-controls";
