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; /** Take a lease for a specific resource even if another client has a lease. */ TakeLease(request: TakeLeaseRequest): Promise; /** Return a lease to the LeaseService. */ ReturnLease(request: ReturnLeaseRequest): Promise; /** List state of all leases managed by the LeaseService. */ ListLeases(request: ListLeasesRequest): Promise; /** Retain possession of a lease. */ RetainLease(request: RetainLeaseRequest): Promise; } export declare class LeaseServiceClientImpl implements LeaseService { private readonly rpc; constructor(rpc: Rpc); AcquireLease(request: AcquireLeaseRequest): Promise; TakeLease(request: TakeLeaseRequest): Promise; ReturnLease(request: ReturnLeaseRequest): Promise; ListLeases(request: ListLeasesRequest): Promise; RetainLease(request: RetainLeaseRequest): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } export {}; //# sourceMappingURL=lease_service.d.ts.map