import { Struct, type JsonValue } from '@bufbuild/protobuf'; import type { CallOptions } from '@connectrpc/connect'; import { MimeType } from '../../gen/app/datasync/v1/data_sync_pb.js'; import type { RobotClient } from '../../robot'; import type { Options } from '../../types'; import type { DataManager } from './data-manager'; export declare class DataManagerClient implements DataManager { private client; readonly name: string; private readonly options; callOptions: CallOptions; constructor(client: RobotClient, name: string, options?: Options); /** * Sync data stored on the machine to the cloud. * * @example * * ```ts * const dataManager = new VIAM.DataManagerClient( * machine, * 'my_data_manager' * ); * await dataManager.sync(); * ``` * * For more information, see [Data Manager * API](https://docs.viam.com/dev/reference/apis/services/data/#sync). * * @param extra - Extra arguments to pass to the sync request. * @param callOptions - Call options for the sync request. */ sync(extra?: {}, callOptions?: CallOptions): Promise; /** * Do a command on the data manager. * * @example * * ```ts * const dataManager = new VIAM.DataManagerClient( * machine, * 'my_data_manager' * ); * await dataManager.doCommand(new Struct({ cmd: 'test', data1: 500 })); * ``` * * For more information, see [Data Manager * API](https://docs.viam.com/dev/reference/apis/services/data/#docommand). * * @param command - The command to do. * @param callOptions - Call options for the command. */ getStatus(callOptions?: CallOptions): Promise; doCommand(command: Struct | Record, callOptions?: CallOptions): Promise; /** * Uploads binary data to specified datasets. * * @example * * ```ts * const dataManager = new VIAM.DataManagerClient( * machine, * 'my_data_manager' * ); * await dataManager.uploadBinaryDataToDatasets( * new Uint8Array([1, 2, 3]), * ['tag1', 'tag2'], * ['datasetId1', 'datasetId2'], * MimeType.MIME_TYPE_JPEG * ); * ``` * * @param binaryData - The binary data to upload. * @param tags - Tags to associate with the binary data. * @param datasetIds - IDs of the datasets to associate the binary data with. * @param mimeType - The MIME type of the binary data. * @param extra - Extra arguments to pass to the upload request. * @param callOptions - Call options for the upload request. */ uploadBinaryDataToDatasets(binaryData: Uint8Array, tags: string[], datasetIds: string[], mimeType: MimeType, extra?: {}, callOptions?: CallOptions): Promise; }