import { RegisterServiceResponse, UnregisterServiceResponse, UpdateServiceResponse, RegisterServiceRequest, UnregisterServiceRequest, UpdateServiceRequest } from "./directory_registration";
export declare const protobufPackage = "bosdyn.api";
/**
 * DirectoryRegistrationService is a private class that lets services be
 * discovered by clients by adding them to a discovery database.  Services
 * can live on robot, payload, or other accessible cloud-based locations.
 * Each service is responsible for registering itself with this service.
 */
export interface DirectoryRegistrationService {
    /**
     * Called by a producer to register as a provider with the application.  Returns the
     * record for that provider.  Requires unique name and correctly filled out service
     * record in request.
     */
    RegisterService(request: RegisterServiceRequest): Promise<RegisterServiceResponse>;
    /** Called by a producer to remove its registration from the DirectoryManager. */
    UnregisterService(request: UnregisterServiceRequest): Promise<UnregisterServiceResponse>;
    /** Update the ServiceEntry for a producer on the server. */
    UpdateService(request: UpdateServiceRequest): Promise<UpdateServiceResponse>;
}
export declare class DirectoryRegistrationServiceClientImpl implements DirectoryRegistrationService {
    private readonly rpc;
    constructor(rpc: Rpc);
    RegisterService(request: RegisterServiceRequest): Promise<RegisterServiceResponse>;
    UnregisterService(request: UnregisterServiceRequest): Promise<UnregisterServiceResponse>;
    UpdateService(request: UpdateServiceRequest): Promise<UpdateServiceResponse>;
}
interface Rpc {
    request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
}
export {};
//# sourceMappingURL=directory_registration_service.d.ts.map