spot-sdk-ts
Version:
TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics
38 lines • 2.16 kB
TypeScript
import { AcquireLeaseResponse, TakeLeaseResponse, ReturnLeaseResponse, ListLeasesResponse, RetainLeaseResponse, AcquireLeaseRequest, TakeLeaseRequest, ReturnLeaseRequest, ListLeasesRequest, RetainLeaseRequest } from "./lease";
export declare const protobufPackage = "bosdyn.api";
/**
* LeaseService provides Leases of shared resources to clients.
* An example of a shared resource is the set of leg motors on Spot, which
* has the resource name of "body".
* Clients can delegate out the Leases they receive from the LeaseService
* to additional clients or services by generating sub-leases.
* Leases obtained from the LeaseService may be revoked if the Lease holder
* does not check in frequently to the LeaseService, or if another client
* force-acquires a Lease.
*/
export interface LeaseService {
/** Acquire a lease to a specific resource if the resource is available. */
AcquireLease(request: AcquireLeaseRequest): Promise<AcquireLeaseResponse>;
/** Take a lease for a specific resource even if another client has a lease. */
TakeLease(request: TakeLeaseRequest): Promise<TakeLeaseResponse>;
/** Return a lease to the LeaseService. */
ReturnLease(request: ReturnLeaseRequest): Promise<ReturnLeaseResponse>;
/** List state of all leases managed by the LeaseService. */
ListLeases(request: ListLeasesRequest): Promise<ListLeasesResponse>;
/** Retain possession of a lease. */
RetainLease(request: RetainLeaseRequest): Promise<RetainLeaseResponse>;
}
export declare class LeaseServiceClientImpl implements LeaseService {
private readonly rpc;
constructor(rpc: Rpc);
AcquireLease(request: AcquireLeaseRequest): Promise<AcquireLeaseResponse>;
TakeLease(request: TakeLeaseRequest): Promise<TakeLeaseResponse>;
ReturnLease(request: ReturnLeaseRequest): Promise<ReturnLeaseResponse>;
ListLeases(request: ListLeasesRequest): Promise<ListLeasesResponse>;
RetainLease(request: RetainLeaseRequest): Promise<RetainLeaseResponse>;
}
interface Rpc {
request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
}
export {};
//# sourceMappingURL=lease_service.d.ts.map