UNPKG

spot-sdk-ts

Version:

TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics

1,474 lines 78.5 kB
import { RequestHeader, ResponseHeader } from "./header";
import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bosdyn.api";
/**
 * Leases are used to verify that a client has exclusive access to a shared
 * resources. Examples of shared resources are the motors for a robot, or
 * indicator lights on a robot.
 * Leases are initially obtained by clients from the LeaseService. Clients
 * then attach Leases to Commands which require them. Clients may also
 * generate sub-Leases to delegate out control of the resource to other
 * services.
 */
export interface Lease {
    /** The resource that the Lease is for. */
    resource: string;
    /**
     * The epoch for the Lease. The sequences field are scoped to a particular epoch.
     * One example of where this can be used is to generate a random epoch
     * at LeaseService startup.
     */
    epoch: string;
    /** Logical vector clock indicating when the Lease was generated. */
    sequence: number[];
    /** The set of different clients which have sent/receieved the lease. */
    clientNames: string[];
}
/**
 * Lease resources can be divided into a hierarchy of sub-resources that can
 * be commanded together. This message describes the hierarchy of a resource.
 */
export interface ResourceTree {
    /** The name of this resource. */
    resource: string;
    /** Sub-resources that make up this resource. */
    subResources: ResourceTree[];
}
/** Details about who currently owns the Lease for a resource. */
export interface LeaseOwner {
    /** The name of the client application. */
    clientName: string;
    /** The name of the user. */
    userName: string;
}
/**
 * Result for when a Lease is used - for example, in a LeaseRetainer, or
 * associated with a command.
 */
export interface LeaseUseResult {
    status: LeaseUseResult_Status;
    /** The current lease owner. */
    owner: LeaseOwner | undefined;
    /** The lease which was attempted for use. */
    attemptedLease: Lease | undefined;
    /** The previous lease, if any, which was used. */
    previousLease: Lease | undefined;
    /** The "latest"/"most recent" lease known to the system. */
    latestKnownLease: Lease | undefined;
    /** Represents the latest "leaf" resources of the hierarchy. */
    latestResources: Lease[];
}
export declare enum LeaseUseResult_Status {
    /** STATUS_UNKNOWN - An internal issue occurred. */
    STATUS_UNKNOWN = 0,
    /** STATUS_OK - The Lease was accepted. */
    STATUS_OK = 1,
    /** STATUS_INVALID_LEASE - The Lease is invalid. */
    STATUS_INVALID_LEASE = 2,
    /** STATUS_OLDER - The Lease is older than the current lease, and rejected. */
    STATUS_OLDER = 3,
    /** STATUS_REVOKED - The Lease holder did not check in regularly enough, and the Lease is stale. */
    STATUS_REVOKED = 4,
    /** STATUS_UNMANAGED - The Lease was for an unmanaged resource. */
    STATUS_UNMANAGED = 5,
    /** STATUS_WRONG_EPOCH - The Lease was for the wrong epoch. */
    STATUS_WRONG_EPOCH = 6,
    UNRECOGNIZED = -1
}
export declare function leaseUseResult_StatusFromJSON(object: any): LeaseUseResult_Status;
export declare function leaseUseResult_StatusToJSON(object: LeaseUseResult_Status): string;
/** The AcquireLease request message which sends which resource the lease should be for. */
export interface AcquireLeaseRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /** The resource to obtain a Lease for. */
    resource: string;
}
/**
 * The AcquireLease response returns the lease for the desired resource if it could be obtained.
 * If a client is returned a new lease, the client should initiate a
 * RetainLease bidirectional streaming request immediately after completion
 * of AcquireLease.
 */
export interface AcquireLeaseResponse {
    /** Common response Header. */
    header: ResponseHeader | undefined;
    /** Return status for the request. */
    status: AcquireLeaseResponse_Status;
    /** The lease for the resource. Only set if status field == STATUS_OK. */
    lease: Lease | undefined;
    /** The owner for the lease. Set if status field == OK or status field == RESOURCE_ALREADY_CLAIMED. */
    leaseOwner: LeaseOwner | undefined;
}
export declare enum AcquireLeaseResponse_Status {
    /**
     * STATUS_UNKNOWN - UNKNOWN should never be used. An internal LeaseService issue has happened
     * if UNKNOWN is set.
     */
    STATUS_UNKNOWN = 0,
    /**
     * STATUS_OK - AcquireLease was successful.The lease field will be populated with the new
     * lease for the resource. The client is expected to call the RetainLease method
     * immediately after.
     */
    STATUS_OK = 1,
    /**
     * STATUS_RESOURCE_ALREADY_CLAIMED - AcquireLease failed since the resource has already been claimed.
     * The TakeLease method may be used to forcefully grab the lease.
     */
    STATUS_RESOURCE_ALREADY_CLAIMED = 2,
    /**
     * STATUS_INVALID_RESOURCE - AcquireLease failed since the resource is not known to LeaseService.
     * The ListLeaseResources method may be used to list all known
     * resources.
     */
    STATUS_INVALID_RESOURCE = 3,
    /** STATUS_NOT_AUTHORITATIVE_SERVICE - The LeaseService is not authoritative - so Acquire should not work. */
    STATUS_NOT_AUTHORITATIVE_SERVICE = 4,
    UNRECOGNIZED = -1
}
export declare function acquireLeaseResponse_StatusFromJSON(object: any): AcquireLeaseResponse_Status;
export declare function acquireLeaseResponse_StatusToJSON(object: AcquireLeaseResponse_Status): string;
/** The TakeLease request message which sends which resource the lease should be for. */
export interface TakeLeaseRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /** The resource to obtain a Lease for. */
    resource: string;
}
/**
 * The TakeLease response returns the lease for the desired resource if it could be obtained.
 * In most cases if the resource is managed by the LeaseService, TakeLease
 * will succeed. However, in the future policies may be introduced which will prevent
 * TakeLease from succeeding and clients should be prepared to handle that
 * case.
 * If a client obtains a new lease, the client should initiate a
 * RetainLease bidirectional streaming request immediately after completion
 * of TakeLease.
 */
export interface TakeLeaseResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** Return status for the request. */
    status: TakeLeaseResponse_Status;
    /** The lease for the resource. Only set if status field == STATUS_OK. */
    lease: Lease | undefined;
    /** The owner for the lease. Set if status field == STATUS_OK. */
    leaseOwner: LeaseOwner | undefined;
}
export declare enum TakeLeaseResponse_Status {
    /** STATUS_UNKNOWN - UNKNOWN should never be used. An internal LeaseService issue has happened if UNKNOWN is set. */
    STATUS_UNKNOWN = 0,
    /**
     * STATUS_OK - TakeLease was successful. The lease field will be populated with the
     * new lease for the resource. The client is expected to call the RetainLease
     * method immediately after.
     */
    STATUS_OK = 1,
    /**
     * STATUS_INVALID_RESOURCE - TakeLease failed since the resource is not known to LeaseService.
     * The ListLeaseResources method may be used to list all known
     * resources.
     */
    STATUS_INVALID_RESOURCE = 2,
    /** STATUS_NOT_AUTHORITATIVE_SERVICE - The LeaseService is not authoritative - so Acquire should not work. */
    STATUS_NOT_AUTHORITATIVE_SERVICE = 3,
    UNRECOGNIZED = -1
}
export declare function takeLeaseResponse_StatusFromJSON(object: any): TakeLeaseResponse_Status;
export declare function takeLeaseResponse_StatusToJSON(object: TakeLeaseResponse_Status): string;
/**
 * The ReturnLease request message will be sent to the LeaseService. If the lease
 * is currently active for the resource, the LeaseService will invalidate the lease.
 * Future calls to AcquireLease by any client will now succeed.
 */
export interface ReturnLeaseRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /** The Lease to return back to the LeaseService. */
    lease: Lease | undefined;
}
/** The ReturnLease response message */
export interface ReturnLeaseResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** Return status for the request. */
    status: ReturnLeaseResponse_Status;
}
export declare enum ReturnLeaseResponse_Status {
    /** STATUS_UNKNOWN - UNKNOWN should never be used. An internal LeaseService issue has happened if UNKNOWN is set. */
    STATUS_UNKNOWN = 0,
    /** STATUS_OK - ReturnLease was successful. */
    STATUS_OK = 1,
    /**
     * STATUS_INVALID_RESOURCE - ReturnLease failed because the resource covered by the lease
     * is not being managed by the LeaseService.
     */
    STATUS_INVALID_RESOURCE = 2,
    /** STATUS_NOT_ACTIVE_LEASE - ReturnLease failed because the lease was not the active lease. */
    STATUS_NOT_ACTIVE_LEASE = 3,
    /** STATUS_NOT_AUTHORITATIVE_SERVICE - The LeaseService is not authoritative - so Acquire should not work. */
    STATUS_NOT_AUTHORITATIVE_SERVICE = 4,
    UNRECOGNIZED = -1
}
export declare function returnLeaseResponse_StatusFromJSON(object: any): ReturnLeaseResponse_Status;
export declare function returnLeaseResponse_StatusToJSON(object: ReturnLeaseResponse_Status): string;
/** The ListLease request message asks for information about any known lease resources. */
export interface ListLeasesRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /**
     * Include the full data of leases in use, if available.
     * Defaults to false to receive basic information.
     */
    includeFullLeaseInfo: boolean;
}
/**
 * Describes all information about a sepcific lease: including the resource it covers, the
 * active lease, and which application is the owner of a lease.
 */
export interface LeaseResource {
    /** The resource name. */
    resource: string;
    /** The active lease, if any. */
    lease: Lease | undefined;
    /** The Lease Owner, if there is a Lease. */
    leaseOwner: LeaseOwner | undefined;
    /**
     * The robot time when this lease will become stale.  A stale lease can be
     * acquired with an AcquireLeaseRequest OR a TakeLeaseRequest, while a lease
     * that is not stale can only be acquired with a TakeLeaseRequest.
     *
     * Leases get marked stale when they haven't been used in a while.  If you want
     * to prevent your lease from being marked stale, you need to either:
     *     - Periodically send RetainLeaseRequests.
     *     - Periodically send valid commands to the robot using the lease.  Note
     *       that only some types of commands will actually cause explicit lease
     *       retention.
     *
     * Commands & RetainLeaseRequests issued with a stale lease will still be accepted.
     * Stale leases, when used, will cause the used lease to no longer be stale.
     */
    staleTime: Date | undefined;
}
/** The ListLease response message returns all known lease resources from the LeaseService. */
export interface ListLeasesResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** The resources managed by the LeaseService. */
    resources: LeaseResource[];
    /**
     * Provide the hierarchical lease structure.
     * A resource can encapsulate multiple sub-resources.
     * For example, the "body" lease may include control of the legs, arm, and gripper.
     */
    resourceTree: ResourceTree | undefined;
}
/**
 * The RetainLease request will inform the LeaseService that the application contains to hold
 * ownership of this lease. Lease holders are expected to be reachable and alive. If enough time
 * has passed since the last RetainLeaseRequest, the LeaseService will revoke the lease.
 */
export interface RetainLeaseRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /**
     * The Lease to retain ownership over. May also be a "super" lease of the lease to retain
     * ownership over.
     */
    lease: Lease | undefined;
}
/**
 * The RetainLease response message sends the result of the attempted RetainLease request, which
 * contains whether or not the lease is still owned by the application sending the request.
 */
export interface RetainLeaseResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** Result of using the lease. */
    leaseUseResult: LeaseUseResult | undefined;
}
export declare const Lease: {
    encode(message: Lease, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Lease;
    fromJSON(object: any): Lease;
    toJSON(message: Lease): unknown;
    fromPartial<I extends {
        resource?: string | undefined;
        epoch?: string | undefined;
        sequence?: number[] | undefined;
        clientNames?: string[] | undefined;
    } & {
        resource?: string | undefined;
        epoch?: string | undefined;
        sequence?: (number[] & number[] & { [K in Exclude<keyof I["sequence"], keyof number[]>]: never; }) | undefined;
        clientNames?: (string[] & string[] & { [K_1 in Exclude<keyof I["clientNames"], keyof string[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Lease>]: never; }>(object: I): Lease;
};
export declare const ResourceTree: {
    encode(message: ResourceTree, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResourceTree;
    fromJSON(object: any): ResourceTree;
    toJSON(message: ResourceTree): unknown;
    fromPartial<I extends {
        resource?: string | undefined;
        subResources?: any[] | undefined;
    } & {
        resource?: string | undefined;
        subResources?: (any[] & ({
            resource?: string | undefined;
            subResources?: any[] | undefined;
        } & {
            resource?: string | undefined;
            subResources?: (any[] & ({
                resource?: string | undefined;
                subResources?: any[] | undefined;
            } & {
                resource?: string | undefined;
                subResources?: (any[] & ({
                    resource?: string | undefined;
                    subResources?: any[] | undefined;
                } & {
                    resource?: string | undefined;
                    subResources?: (any[] & ({
                        resource?: string | undefined;
                        subResources?: any[] | undefined;
                    } & {
                        resource?: string | undefined;
                        subResources?: (any[] & ({
                            resource?: string | undefined;
                            subResources?: any[] | undefined;
                        } & {
                            resource?: string | undefined;
                            subResources?: (any[] & ({
                                resource?: string | undefined;
                                subResources?: any[] | undefined;
                            } & {
                                resource?: string | undefined;
                                subResources?: (any[] & ({
                                    resource?: string | undefined;
                                    subResources?: any[] | undefined;
                                } & {
                                    resource?: string | undefined;
                                    subResources?: (any[] & ({
                                        resource?: string | undefined;
                                        subResources?: any[] | undefined;
                                    } & {
                                        resource?: string | undefined;
                                        subResources?: (any[] & ({
                                            resource?: string | undefined;
                                            subResources?: any[] | undefined;
                                        } & {
                                            resource?: string | undefined;
                                            subResources?: (any[] & ({
                                                resource?: string | undefined;
                                                subResources?: any[] | undefined;
                                            } & {
                                                resource?: string | undefined;
                                                subResources?: (any[] & ({
                                                    resource?: string | undefined;
                                                    subResources?: any[] | undefined;
                                                } & any & { [K in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_1 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                            } & { [K_2 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_3 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                        } & { [K_4 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_5 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                    } & { [K_6 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_7 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                } & { [K_8 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_9 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                            } & { [K_10 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_11 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                        } & { [K_12 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_13 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                    } & { [K_14 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_15 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                } & { [K_16 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_17 in Exclude<keyof I["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
            } & { [K_18 in Exclude<keyof I["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_19 in Exclude<keyof I["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
        } & { [K_20 in Exclude<keyof I["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_21 in Exclude<keyof I["subResources"], keyof any[]>]: never; }) | undefined;
    } & { [K_22 in Exclude<keyof I, keyof ResourceTree>]: never; }>(object: I): ResourceTree;
};
export declare const LeaseOwner: {
    encode(message: LeaseOwner, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LeaseOwner;
    fromJSON(object: any): LeaseOwner;
    toJSON(message: LeaseOwner): unknown;
    fromPartial<I extends {
        clientName?: string | undefined;
        userName?: string | undefined;
    } & {
        clientName?: string | undefined;
        userName?: string | undefined;
    } & { [K in Exclude<keyof I, keyof LeaseOwner>]: never; }>(object: I): LeaseOwner;
};
export declare const LeaseUseResult: {
    encode(message: LeaseUseResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LeaseUseResult;
    fromJSON(object: any): LeaseUseResult;
    toJSON(message: LeaseUseResult): unknown;
    fromPartial<I extends {
        status?: LeaseUseResult_Status | undefined;
        owner?: {
            clientName?: string | undefined;
            userName?: string | undefined;
        } | undefined;
        attemptedLease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        previousLease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        latestKnownLease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        latestResources?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        }[] | undefined;
    } & {
        status?: LeaseUseResult_Status | undefined;
        owner?: ({
            clientName?: string | undefined;
            userName?: string | undefined;
        } & {
            clientName?: string | undefined;
            userName?: string | undefined;
        } & { [K in Exclude<keyof I["owner"], keyof LeaseOwner>]: never; }) | undefined;
        attemptedLease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_1 in Exclude<keyof I["attemptedLease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_2 in Exclude<keyof I["attemptedLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_3 in Exclude<keyof I["attemptedLease"], keyof Lease>]: never; }) | undefined;
        previousLease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_4 in Exclude<keyof I["previousLease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_5 in Exclude<keyof I["previousLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["previousLease"], keyof Lease>]: never; }) | undefined;
        latestKnownLease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_7 in Exclude<keyof I["latestKnownLease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_8 in Exclude<keyof I["latestKnownLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I["latestKnownLease"], keyof Lease>]: never; }) | undefined;
        latestResources?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        }[] & ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_10 in Exclude<keyof I["latestResources"][number]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_11 in Exclude<keyof I["latestResources"][number]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I["latestResources"][number], keyof Lease>]: never; })[] & { [K_13 in Exclude<keyof I["latestResources"], keyof {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_14 in Exclude<keyof I, keyof LeaseUseResult>]: never; }>(object: I): LeaseUseResult;
};
export declare const AcquireLeaseRequest: {
    encode(message: AcquireLeaseRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AcquireLeaseRequest;
    fromJSON(object: any): AcquireLeaseRequest;
    toJSON(message: AcquireLeaseRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        resource?: string | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        resource?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof AcquireLeaseRequest>]: never; }>(object: I): AcquireLeaseRequest;
};
export declare const AcquireLeaseResponse: {
    encode(message: AcquireLeaseResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AcquireLeaseResponse;
    fromJSON(object: any): AcquireLeaseResponse;
    toJSON(message: AcquireLeaseResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: AcquireLeaseResponse_Status | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        leaseOwner?: {
            clientName?: string | undefined;
            userName?: string | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: AcquireLeaseResponse_Status | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_5 in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_6 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
        leaseOwner?: ({
            clientName?: string | undefined;
            userName?: string | undefined;
        } & {
            clientName?: string | undefined;
            userName?: string | undefined;
        } & { [K_8 in Exclude<keyof I["leaseOwner"], keyof LeaseOwner>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I, keyof AcquireLeaseResponse>]: never; }>(object: I): AcquireLeaseResponse;
};
export declare const TakeLeaseRequest: {
    encode(message: TakeLeaseRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TakeLeaseRequest;
    fromJSON(object: any): TakeLeaseRequest;
    toJSON(message: TakeLeaseRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        resource?: string | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        resource?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof TakeLeaseRequest>]: never; }>(object: I): TakeLeaseRequest;
};
export declare const TakeLeaseResponse: {
    encode(message: TakeLeaseResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TakeLeaseResponse;
    fromJSON(object: any): TakeLeaseResponse;
    toJSON(message: TakeLeaseResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: TakeLeaseResponse_Status | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        leaseOwner?: {
            clientName?: string | undefined;
            userName?: string | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: TakeLeaseResponse_Status | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_5 in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_6 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
        leaseOwner?: ({
            clientName?: string | undefined;
            userName?: string | undefined;
        } & {
            clientName?: string | undefined;
            userName?: string | undefined;
        } & { [K_8 in Exclude<keyof I["leaseOwner"], keyof LeaseOwner>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I, keyof TakeLeaseResponse>]: never; }>(object: I): TakeLeaseResponse;
};
export declare const ReturnLeaseRequest: {
    encode(message: ReturnLeaseRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ReturnLeaseRequest;
    fromJSON(object: any): ReturnLeaseRequest;
    toJSON(message: ReturnLeaseRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_1 in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_2 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_3 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, keyof ReturnLeaseRequest>]: never; }>(object: I): ReturnLeaseRequest;
};
export declare const ReturnLeaseResponse: {
    encode(message: ReturnLeaseResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ReturnLeaseResponse;
    fromJSON(object: any): ReturnLeaseResponse;
    toJSON(message: ReturnLeaseResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: ReturnLeaseResponse_Status | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: ReturnLeaseResponse_Status | undefined;
    } & { [K_5 in Exclude<keyof I, keyof ReturnLeaseResponse>]: never; }>(object: I): ReturnLeaseResponse;
};
export declare const ListLeasesRequest: {
    encode(message: ListLeasesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListLeasesRequest;
    fromJSON(object: any): ListLeasesRequest;
    toJSON(message: ListLeasesRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        includeFullLeaseInfo?: boolean | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        includeFullLeaseInfo?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I, keyof ListLeasesRequest>]: never; }>(object: I): ListLeasesRequest;
};
export declare const LeaseResource: {
    encode(message: LeaseResource, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LeaseResource;
    fromJSON(object: any): LeaseResource;
    toJSON(message: LeaseResource): unknown;
    fromPartial<I extends {
        resource?: string | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        leaseOwner?: {
            clientName?: string | undefined;
            userName?: string | undefined;
        } | undefined;
        staleTime?: Date | undefined;
    } & {
        resource?: string | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_1 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
        leaseOwner?: ({
            clientName?: string | undefined;
            userName?: string | undefined;
        } & {
            clientName?: string | undefined;
            userName?: string | undefined;
        } & { [K_3 in Exclude<keyof I["leaseOwner"], keyof LeaseOwner>]: never; }) | undefined;
        staleTime?: Date | undefined;
    } & { [K_4 in Exclude<keyof I, keyof LeaseResource>]: never; }>(object: I): LeaseResource;
};
export declare const ListLeasesResponse: {
    encode(message: ListLeasesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ListLeasesResponse;
    fromJSON(object: any): ListLeasesResponse;
    toJSON(message: ListLeasesResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        resources?: {
            resource?: string | undefined;
            lease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            leaseOwner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            staleTime?: Date | undefined;
        }[] | undefined;
        resourceTree?: {
            resource?: string | undefined;
            subResources?: any[] | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        resources?: ({
            resource?: string | undefined;
            lease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            leaseOwner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            staleTime?: Date | undefined;
        }[] & ({
            resource?: string | undefined;
            lease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            leaseOwner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            staleTime?: Date | undefined;
        } & {
            resource?: string | undefined;
            lease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_5 in Exclude<keyof I["resources"][number]["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_6 in Exclude<keyof I["resources"][number]["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_7 in Exclude<keyof I["resources"][number]["lease"], keyof Lease>]: never; }) | undefined;
            leaseOwner?: ({
                clientName?: string | undefined;
                userName?: string | undefined;
            } & {
                clientName?: string | undefined;
                userName?: string | undefined;
            } & { [K_8 in Exclude<keyof I["resources"][number]["leaseOwner"], keyof LeaseOwner>]: never; }) | undefined;
            staleTime?: Date | undefined;
        } & { [K_9 in Exclude<keyof I["resources"][number], keyof LeaseResource>]: never; })[] & { [K_10 in Exclude<keyof I["resources"], keyof {
            resource?: string | undefined;
            lease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            leaseOwner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            staleTime?: Date | undefined;
        }[]>]: never; }) | undefined;
        resourceTree?: ({
            resource?: string | undefined;
            subResources?: any[] | undefined;
        } & {
            resource?: string | undefined;
            subResources?: (any[] & ({
                resource?: string | undefined;
                subResources?: any[] | undefined;
            } & {
                resource?: string | undefined;
                subResources?: (any[] & ({
                    resource?: string | undefined;
                    subResources?: any[] | undefined;
                } & {
                    resource?: string | undefined;
                    subResources?: (any[] & ({
                        resource?: string | undefined;
                        subResources?: any[] | undefined;
                    } & {
                        resource?: string | undefined;
                        subResources?: (any[] & ({
                            resource?: string | undefined;
                            subResources?: any[] | undefined;
                        } & {
                            resource?: string | undefined;
                            subResources?: (any[] & ({
                                resource?: string | undefined;
                                subResources?: any[] | undefined;
                            } & {
                                resource?: string | undefined;
                                subResources?: (any[] & ({
                                    resource?: string | undefined;
                                    subResources?: any[] | undefined;
                                } & {
                                    resource?: string | undefined;
                                    subResources?: (any[] & ({
                                        resource?: string | undefined;
                                        subResources?: any[] | undefined;
                                    } & {
                                        resource?: string | undefined;
                                        subResources?: (any[] & ({
                                            resource?: string | undefined;
                                            subResources?: any[] | undefined;
                                        } & {
                                            resource?: string | undefined;
                                            subResources?: (any[] & ({
                                                resource?: string | undefined;
                                                subResources?: any[] | undefined;
                                            } & {
                                                resource?: string | undefined;
                                                subResources?: (any[] & ({
                                                    resource?: string | undefined;
                                                    subResources?: any[] | undefined;
                                                } & any & { [K_11 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_12 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                            } & { [K_13 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_14 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                        } & { [K_15 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_16 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                    } & { [K_17 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_18 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                                } & { [K_19 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_20 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                            } & { [K_21 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_22 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                        } & { [K_23 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_24 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                    } & { [K_25 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_26 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
                } & { [K_27 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_28 in Exclude<keyof I["resourceTree"]["subResources"][number]["subResources"], keyof any[]>]: never; }) | undefined;
            } & { [K_29 in Exclude<keyof I["resourceTree"]["subResources"][number], keyof ResourceTree>]: never; })[] & { [K_30 in Exclude<keyof I["resourceTree"]["subResources"], keyof any[]>]: never; }) | undefined;
        } & { [K_31 in Exclude<keyof I["resourceTree"], keyof ResourceTree>]: never; }) | undefined;
    } & { [K_32 in Exclude<keyof I, keyof ListLeasesResponse>]: never; }>(object: I): ListLeasesResponse;
};
export declare const RetainLeaseRequest: {
    encode(message: RetainLeaseRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RetainLeaseRequest;
    fromJSON(object: any): RetainLeaseRequest;
    toJSON(message: RetainLeaseRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_1 in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_2 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_3 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, keyof RetainLeaseRequest>]: never; }>(object: I): RetainLeaseRequest;
};
export declare const RetainLeaseResponse: {
    encode(message: RetainLeaseResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RetainLeaseResponse;
    fromJSON(object: any): RetainLeaseResponse;
    toJSON(message: RetainLeaseResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        leaseUseResult?: {
            status?: LeaseUseResult_Status | undefined;
            owner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            attemptedLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            previousLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestKnownLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestResources?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("./header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("./header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        leaseUseResult?: ({
            status?: LeaseUseResult_Status | undefined;
            owner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            attemptedLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            previousLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestKnownLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestResources?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] | undefined;
        } & {
            status?: LeaseUseResult_Status | undefined;
            owner?: ({
                clientName?: string | undefined;
                userName?: string | undefined;
            } & {
                clientName?: string | undefined;
                userName?: string | undefined;
            } & { [K_5 in Exclude<keyof I["leaseUseResult"]["owner"], keyof LeaseOwner>]: never; }) | undefined;
            attemptedLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_6 in Exclude<keyof I["leaseUseResult"]["attemptedLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_7 in Exclude<keyof I["leaseUseResult"]["attemptedLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_8 in Exclude<keyof I["leaseUseResult"]["attemptedLease"], keyof Lease>]: never; }) | undefined;
            previousLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_9 in Exclude<keyof I["leaseUseResult"]["previousLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_10 in Exclude<keyof I["leaseUseResult"]["previousLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_11 in Exclude<keyof I["leaseUseResult"]["previousLease"], keyof Lease>]: never; }) | undefined;
            latestKnownLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_12 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_13 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_14 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"], keyof Lease>]: never; }) | undefined;
            latestResources?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] & ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_15 in Exclude<keyof I["leaseUseResult"]["latestResources"][number]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_16 in Exclude<keyof I["leaseUseResult"]["latestResources"][number]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_17 in Exclude<keyof I["leaseUseResult"]["latestResources"][number], keyof Lease>]: never; })[] & { [K_18 in Exclude<keyof I["leaseUseResult"]["latestResources"], keyof {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_19 in Exclude<keyof I["leaseUseResult"], keyof LeaseUseResult>]: never; }) | undefined;
    } & { [K_20 in Exclude<keyof I, keyof RetainLeaseResponse>]: never; }>(object: I): RetainLeaseResponse;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export {};
//# sourceMappingURL=lease.d.ts.map