import { ListAllMovesResponse, ListAllSequencesResponse, UploadChoreographyResponse, UploadAnimatedMoveResponse, ExecuteChoreographyResponse, StartRecordingStateResponse, StopRecordingStateResponse, DownloadRobotStateLogResponse, ListAllMovesRequest, ListAllSequencesRequest, UploadChoreographyRequest, UploadAnimatedMoveRequest, ExecuteChoreographyRequest, StartRecordingStateRequest, StopRecordingStateRequest, DownloadRobotStateLogRequest } from "./choreography_sequence";
import { Observable } from "rxjs";
export declare const protobufPackage = "bosdyn.api.spot";
export interface ChoreographyService {
    /** List the available dance moves and their parameter information. */
    ListAllMoves(request: ListAllMovesRequest): Promise<ListAllMovesResponse>;
    /** List the available choreography sequences currently on the robot. */
    ListAllSequences(request: ListAllSequencesRequest): Promise<ListAllSequencesResponse>;
    /** Upload a dance to the robot. */
    UploadChoreography(request: UploadChoreographyRequest): Promise<UploadChoreographyResponse>;
    /** Upload an animation to the robot. */
    UploadAnimatedMove(request: UploadAnimatedMoveRequest): Promise<UploadAnimatedMoveResponse>;
    /** Execute the uploaded dance. */
    ExecuteChoreography(request: ExecuteChoreographyRequest): Promise<ExecuteChoreographyResponse>;
    /** Manually start (or continue) recording the robot state. */
    StartRecordingState(request: StartRecordingStateRequest): Promise<StartRecordingStateResponse>;
    /** Manually stop recording the robot state. */
    StopRecordingState(request: StopRecordingStateRequest): Promise<StopRecordingStateResponse>;
    /** Download log of the latest recorded robot state information. */
    DownloadRobotStateLog(request: DownloadRobotStateLogRequest): Observable<DownloadRobotStateLogResponse>;
}
export declare class ChoreographyServiceClientImpl implements ChoreographyService {
    private readonly rpc;
    constructor(rpc: Rpc);
    ListAllMoves(request: ListAllMovesRequest): Promise<ListAllMovesResponse>;
    ListAllSequences(request: ListAllSequencesRequest): Promise<ListAllSequencesResponse>;
    UploadChoreography(request: UploadChoreographyRequest): Promise<UploadChoreographyResponse>;
    UploadAnimatedMove(request: UploadAnimatedMoveRequest): Promise<UploadAnimatedMoveResponse>;
    ExecuteChoreography(request: ExecuteChoreographyRequest): Promise<ExecuteChoreographyResponse>;
    StartRecordingState(request: StartRecordingStateRequest): Promise<StartRecordingStateResponse>;
    StopRecordingState(request: StopRecordingStateRequest): Promise<StopRecordingStateResponse>;
    DownloadRobotStateLog(request: DownloadRobotStateLogRequest): Observable<DownloadRobotStateLogResponse>;
}
interface Rpc {
    request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
    clientStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Promise<Uint8Array>;
    serverStreamingRequest(service: string, method: string, data: Uint8Array): Observable<Uint8Array>;
    bidirectionalStreamingRequest(service: string, method: string, data: Observable<Uint8Array>): Observable<Uint8Array>;
}
export {};
//# sourceMappingURL=choreography_service.d.ts.map