// package: skywalking.v3
// file: logging/Logging.proto

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

import * as grpc from "@grpc/grpc-js";
import * as logging_Logging_pb from "../logging/Logging_pb";
import * as common_Common_pb from "../common/Common_pb";

interface ILogReportServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    collect: ILogReportServiceService_Icollect;
}

interface ILogReportServiceService_Icollect extends grpc.MethodDefinition<logging_Logging_pb.LogData, common_Common_pb.Commands> {
    path: "/skywalking.v3.LogReportService/collect";
    requestStream: true;
    responseStream: false;
    requestSerialize: grpc.serialize<logging_Logging_pb.LogData>;
    requestDeserialize: grpc.deserialize<logging_Logging_pb.LogData>;
    responseSerialize: grpc.serialize<common_Common_pb.Commands>;
    responseDeserialize: grpc.deserialize<common_Common_pb.Commands>;
}

export const LogReportServiceService: ILogReportServiceService;

export interface ILogReportServiceServer extends grpc.UntypedServiceImplementation {
    collect: grpc.handleClientStreamingCall<logging_Logging_pb.LogData, common_Common_pb.Commands>;
}

export interface ILogReportServiceClient {
    collect(callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    collect(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    collect(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    collect(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
}

export class LogReportServiceClient extends grpc.Client implements ILogReportServiceClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
    public collect(callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    public collect(metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    public collect(options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
    public collect(metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: common_Common_pb.Commands) => void): grpc.ClientWritableStream<logging_Logging_pb.LogData>;
}
