import type { ControllerInstance, MotionGroupPhysical, MotionGroupStateResponse } from "@wandelbots/nova-api/v1";
import type { AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket";
import type { NovaClient } from "./NovaClient";
/**
 * Store representing the current state of a connected motion group.
 */
export declare class MotionStreamConnection {
    readonly nova: NovaClient;
    readonly controller: ControllerInstance;
    readonly motionGroup: MotionGroupPhysical;
    readonly initialMotionState: MotionGroupStateResponse;
    readonly motionStateSocket: AutoReconnectingWebsocket;
    static open(nova: NovaClient, motionGroupId: string): Promise<MotionStreamConnection>;
    rapidlyChangingMotionState: MotionGroupStateResponse;
    constructor(nova: NovaClient, controller: ControllerInstance, motionGroup: MotionGroupPhysical, initialMotionState: MotionGroupStateResponse, motionStateSocket: AutoReconnectingWebsocket);
    get motionGroupId(): string;
    get controllerId(): string;
    get modelFromController(): string | undefined;
    get wandelscriptIdentifier(): string;
    get joints(): {
        index: number;
    }[];
    dispose(): void;
}
//# sourceMappingURL=MotionStreamConnection.d.ts.map