// package: skywalking.v3
// file: language-agent/ConfigurationDiscoveryService.proto

/* tslint:disable */
/* eslint-disable */

import * as grpc from "@grpc/grpc-js";
import * as language_agent_ConfigurationDiscoveryService_pb from "../language-agent/ConfigurationDiscoveryService_pb";
import * as common_Common_pb from "../common/Common_pb";

interface IConfigurationDiscoveryServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    fetchConfigurations: IConfigurationDiscoveryServiceService_IfetchConfigurations;
}

interface IConfigurationDiscoveryServiceService_IfetchConfigurations extends grpc.MethodDefinition<language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, common_Common_pb.Commands> {
    path: "/skywalking.v3.ConfigurationDiscoveryService/fetchConfigurations";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest>;
    requestDeserialize: grpc.deserialize<language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest>;
    responseSerialize: grpc.serialize<common_Common_pb.Commands>;
    responseDeserialize: grpc.deserialize<common_Common_pb.Commands>;
}

export const ConfigurationDiscoveryServiceService: IConfigurationDiscoveryServiceService;

export interface IConfigurationDiscoveryServiceServer extends grpc.UntypedServiceImplementation {
    fetchConfigurations: grpc.handleUnaryCall<language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, common_Common_pb.Commands>;
}

export interface IConfigurationDiscoveryServiceClient {
    fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
    fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
    fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
}

export class ConfigurationDiscoveryServiceClient extends grpc.Client implements IConfigurationDiscoveryServiceClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
    public fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
    public fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
    public fetchConfigurations(request: language_agent_ConfigurationDiscoveryService_pb.ConfigurationSyncRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientUnaryCall;
}
