import { StartRecordingResponse, StopRecordingResponse, CreateWaypointResponse, SetRecordingEnvironmentResponse, CreateEdgeResponse, GetRecordStatusResponse, StartRecordingRequest, StopRecordingRequest, CreateWaypointRequest, SetRecordingEnvironmentRequest, CreateEdgeRequest, GetRecordStatusRequest } from "./recording"; export declare const protobufPackage = "bosdyn.api.graph_nav"; /** * The recording service can be used to record a Graph Nav map (containing waypoints and edges). * The recorded map can consist of the following: * * Chain: a topological arrangement of waypoints/edges where every waypoint has at least 1 * but at most 2 edges attached to it. * * Branch: separate Chains can be joined together into a Branch at exactly one waypoint. * When recording a map using the recording service, a common pattern is: * * Call StartRecording to begin recording a chain of waypoints. * * Call SetRecordingEnvironment to define persistent annotations for the edges and waypoints. * * While recording, call GetRecordStatus to get feedback on the state of the recording service. * * While recording, call GetMapStatus to determine what waypoints have been created. * * Optionally call CreateWaypoint to create waypoints in specific locations. * * Call StopRecording to pause the recording service and create branches. * * While recording (or after completing recording), call DownloadWaypoint/Edge Snapshot rpc's * from the GraphNavService to download the large sensor data with the map. */ export interface GraphNavRecordingService { /** * Start recording the map from the current localization. * Creates a waypoint if you are starting to record. Otherwise, waits until you are * sufficiently far away from the previous waypoint. */ StartRecording(request: StartRecordingRequest): Promise; /** Stop recording the map from the current localization. */ StopRecording(request: StopRecordingRequest): Promise; /** Create a new waypoint at the current localization. */ CreateWaypoint(request: CreateWaypointRequest): Promise; /** Set the environmnent and name prefix to use for the recording. */ SetRecordingEnvironment(request: SetRecordingEnvironmentRequest): Promise; /** Create an arbitrary edge between two waypoints. */ CreateEdge(request: CreateEdgeRequest): Promise; /** * Tells the client the internal state of the record service, and the structure of the map that has been recorded * so far. */ GetRecordStatus(request: GetRecordStatusRequest): Promise; } export declare class GraphNavRecordingServiceClientImpl implements GraphNavRecordingService { private readonly rpc; constructor(rpc: Rpc); StartRecording(request: StartRecordingRequest): Promise; StopRecording(request: StopRecordingRequest): Promise; CreateWaypoint(request: CreateWaypointRequest): Promise; SetRecordingEnvironment(request: SetRecordingEnvironmentRequest): Promise; CreateEdge(request: CreateEdgeRequest): Promise; GetRecordStatus(request: GetRecordStatusRequest): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } export {}; //# sourceMappingURL=recording_service.d.ts.map