import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { CommandResult } from "./VehicleCommon"; import { Empty } from "./google/protobuf/empty"; export declare const protobufPackage = ""; export interface ParamGetRequest { name: string; } export interface ParamSetRequest { name: string; value: number; } /** * Post-write echo of a parameter as the autopilot now reports it. * `mav_param_type` is the underlying MAV_PARAM_TYPE enum (e.g. 9 = REAL32) * so callers can detect type coercions performed by the autopilot. */ export interface ParamValueResponse { name: string; value: number; mavParamType: number; } export interface ParamListResponse { params: ParamValueResponse[]; } export interface ParamSetBulkRequest { params: ParamSetRequest[]; } export interface ParamSetBulkResult { name: string; ok: boolean; /** Populated only when ok=false. */ error: string; /** Echoed value on success. */ value: number; mavParamType: number; } export interface ParamSetBulkResponse { results: ParamSetBulkResult[]; } /** * Persist the current in-memory parameter set to non-volatile storage. * Maps onto MAVLink MAV_CMD_PREFLIGHT_STORAGE. * * No-op on ArduPilot: ArduPilot persists every set_param write to * storage immediately, so this bulk command is redundant and the * autopilot returns DENIED -- an expected outcome, not a failure. The * RPC is meaningful for PX4-class autopilots, which do not auto-persist. */ export interface SaveParamsRequest { timestamp: Date | undefined; } export interface SaveParamsResponse { result: CommandResult; rawAutopilotResult: number; detail: string; } export declare const ParamGetRequest: MessageFns; export declare const ParamSetRequest: MessageFns; export declare const ParamValueResponse: MessageFns; export declare const ParamListResponse: MessageFns; export declare const ParamSetBulkRequest: MessageFns; export declare const ParamSetBulkResult: MessageFns; export declare const ParamSetBulkResponse: MessageFns; export declare const SaveParamsRequest: MessageFns; export declare const SaveParamsResponse: MessageFns; export interface VehicleParam { get_param(request: ParamGetRequest): Promise; set_param(request: ParamSetRequest): Promise; list_params(request: Empty): Promise; set_params(request: ParamSetBulkRequest): Promise; save_params(request: SaveParamsRequest): Promise; } export declare const VehicleParamServiceName = "VehicleParam"; export declare class VehicleParamClientImpl implements VehicleParam { private readonly rpc; private readonly service; constructor(rpc: Rpc, opts?: { service?: string; }); get_param(request: ParamGetRequest): Promise; set_param(request: ParamSetRequest): Promise; list_params(request: Empty): Promise; set_params(request: ParamSetBulkRequest): Promise; save_params(request: SaveParamsRequest): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};