import { RobotStateResponse, RobotMetricsResponse, RobotHardwareConfigurationResponse, RobotLinkModelResponse, RobotStateRequest, RobotMetricsRequest, RobotHardwareConfigurationRequest, RobotLinkModelRequest } from "./robot_state";
export declare const protobufPackage = "bosdyn.api";
/** The robot state service tracks all information about the measured and computed states of the robot at the current time. */
export interface RobotStateService {
    /** Get robot state information (such as kinematic state, power state, or faults). */
    GetRobotState(request: RobotStateRequest): Promise<RobotStateResponse>;
    /** Get different robot metrics and parameters from the robot. */
    GetRobotMetrics(request: RobotMetricsRequest): Promise<RobotMetricsResponse>;
    /** Get the hardware configuration of the robot, which describes the robot skeleton and urdf. */
    GetRobotHardwareConfiguration(request: RobotHardwareConfigurationRequest): Promise<RobotHardwareConfigurationResponse>;
    /**
     * Returns the OBJ file for a specifc robot link. Intended to be called after
     * GetRobotHardwareConfiguration, using the link names returned by that call.
     */
    GetRobotLinkModel(request: RobotLinkModelRequest): Promise<RobotLinkModelResponse>;
}
export declare class RobotStateServiceClientImpl implements RobotStateService {
    private readonly rpc;
    constructor(rpc: Rpc);
    GetRobotState(request: RobotStateRequest): Promise<RobotStateResponse>;
    GetRobotMetrics(request: RobotMetricsRequest): Promise<RobotMetricsResponse>;
    GetRobotHardwareConfiguration(request: RobotHardwareConfigurationRequest): Promise<RobotHardwareConfigurationResponse>;
    GetRobotLinkModel(request: RobotLinkModelRequest): Promise<RobotLinkModelResponse>;
}
interface Rpc {
    request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
}
export {};
//# sourceMappingURL=robot_state_service.d.ts.map