import { Struct, type JsonValue } from '@bufbuild/protobuf'; import type { CallOptions } from '@connectrpc/connect'; import type { RobotClient } from '../../robot'; import type { Options } from '../../types'; import type { Motor } from './motor'; /** * A gRPC-web client for the Motor component. * * @group Clients */ export declare class MotorClient implements Motor { private client; readonly name: string; private readonly options; callOptions: CallOptions; constructor(client: RobotClient, name: string, options?: Options); setPower(power: number, extra?: {}, callOptions?: CallOptions): Promise; goFor(rpm: number, revolutions: number, extra?: {}, callOptions?: CallOptions): Promise; goTo(rpm: number, positionRevolutions: number, extra?: {}, callOptions?: CallOptions): Promise; setRPM(rpm: number, extra?: {}, callOptions?: CallOptions): Promise; resetZeroPosition(offset: number, extra?: {}, callOptions?: CallOptions): Promise; stop(extra?: {}, callOptions?: CallOptions): Promise; getProperties(extra?: {}, callOptions?: CallOptions): Promise<{ positionReporting: boolean; }>; getPosition(extra?: {}, callOptions?: CallOptions): Promise; isPowered(extra?: {}, callOptions?: CallOptions): Promise; isMoving(callOptions?: CallOptions): Promise; getStatus(callOptions?: CallOptions): Promise; doCommand(command: Struct | Record, callOptions?: CallOptions): Promise; }