import type * as location from "@distilled.cloud/aws/location"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Tracker } from "./Tracker.ts"; /** * `BatchUpdateDevicePosition` request with `TrackerName` injected from the bound * resource. */ export interface BatchUpdateDevicePositionRequest extends Omit { } /** * Uploads position updates for up to 10 devices to the tracker (also triggers geofence evaluation for linked collections). * * Runtime binding for the `BatchUpdateDevicePosition` operation (IAM action * `geo:BatchUpdateDevicePosition`), scoped to one {@link Tracker}. Provide the implementation with * `Effect.provide(AWS.Location.BatchUpdateDevicePositionHttp)`. * * ### Updating Device Positions * **Example:** Report Device Positions * ```typescript * const updatePositions = yield* Location.BatchUpdateDevicePosition(tracker); * * yield* updatePositions({ * Updates: [ * { * DeviceId: "vehicle-1", * Position: [-122.3493, 47.6205], // [longitude, latitude] * SampleTime: new Date(), * }, * ], * }); * ``` * * @binding */ export interface BatchUpdateDevicePosition extends Binding.Service Effect.Effect<(request: BatchUpdateDevicePositionRequest) => Effect.Effect>> { } export declare const BatchUpdateDevicePosition: BatchUpdateDevicePosition; //# sourceMappingURL=BatchUpdateDevicePosition.d.ts.map