import type { Controller, MotionGroupPhysical, MotionGroupSpecification, MotionGroupState, RobotTcp, SafetySetup } from "@wandelbots/nova-api/v2";
import type { AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket";
import type { NovaClient } from "./NovaClient";
export type MotionGroupOption = {
    selectionId: string;
} & MotionGroupPhysical;
/**
 * Store representing the current state of a connected motion group.
 */
export declare class ConnectedMotionGroup {
    readonly nova: NovaClient;
    readonly controller: Controller;
    readonly motionGroup: MotionGroupPhysical;
    readonly initialMotionState: MotionGroupState;
    readonly motionStateSocket: AutoReconnectingWebsocket;
    readonly isVirtual: boolean;
    readonly tcps: RobotTcp[];
    readonly motionGroupSpecification: MotionGroupSpecification;
    readonly safetySetup: SafetySetup;
    static connect(nova: NovaClient, motionGroupId: string, controllers: Controller[]): Promise<ConnectedMotionGroup>;
    connectedJoggingCartesianSocket: WebSocket | null;
    connectedJoggingJointsSocket: WebSocket | null;
    planData: any | null;
    joggingVelocity: number;
    rapidlyChangingMotionState: MotionGroupState;
    constructor(nova: NovaClient, controller: Controller, motionGroup: MotionGroupPhysical, initialMotionState: MotionGroupState, motionStateSocket: AutoReconnectingWebsocket, isVirtual: boolean, tcps: RobotTcp[], motionGroupSpecification: MotionGroupSpecification, safetySetup: SafetySetup);
    get motionGroupId(): string;
    get controllerId(): string;
    get modelFromController(): string | undefined;
    get wandelscriptIdentifier(): string;
    /** Jogging velocity in radians for rotation and joint movement */
    get joggingVelocityRads(): number;
    get joints(): {
        index: number;
    }[];
    get dhParameters(): import("@wandelbots/nova-api/v2").DHParameter[] | undefined;
    get safetyZones(): import("@wandelbots/nova-api/v2").SafetySetupSafetyZone[] | undefined;
    dispose(): void;
    setJoggingVelocity(velocity: number): void;
}
//# sourceMappingURL=ConnectedMotionGroup.d.ts.map