// package: atc.v1
// file: atc/v1/event.proto

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

import * as grpc from "@grpc/grpc-js";
import * as atc_v1_event_pb from "../../atc/v1/event_pb";
import * as atc_v1_airplane_pb from "../../atc/v1/airplane_pb";
import * as atc_v1_map_pb from "../../atc/v1/map_pb";

interface IEventServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    stream: IEventServiceService_IStream;
}

interface IEventServiceService_IStream extends grpc.MethodDefinition<atc_v1_event_pb.StreamRequest, atc_v1_event_pb.StreamResponse> {
    path: "/atc.v1.EventService/Stream";
    requestStream: false;
    responseStream: true;
    requestSerialize: grpc.serialize<atc_v1_event_pb.StreamRequest>;
    requestDeserialize: grpc.deserialize<atc_v1_event_pb.StreamRequest>;
    responseSerialize: grpc.serialize<atc_v1_event_pb.StreamResponse>;
    responseDeserialize: grpc.deserialize<atc_v1_event_pb.StreamResponse>;
}

export const EventServiceService: IEventServiceService;

export interface IEventServiceServer extends grpc.UntypedServiceImplementation {
    stream: grpc.handleServerStreamingCall<atc_v1_event_pb.StreamRequest, atc_v1_event_pb.StreamResponse>;
}

export interface IEventServiceClient {
    stream(request: atc_v1_event_pb.StreamRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<atc_v1_event_pb.StreamResponse>;
    stream(request: atc_v1_event_pb.StreamRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<atc_v1_event_pb.StreamResponse>;
}

export class EventServiceClient extends grpc.Client implements IEventServiceClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
    public stream(request: atc_v1_event_pb.StreamRequest, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<atc_v1_event_pb.StreamResponse>;
    public stream(request: atc_v1_event_pb.StreamRequest, metadata?: grpc.Metadata, options?: Partial<grpc.CallOptions>): grpc.ClientReadableStream<atc_v1_event_pb.StreamResponse>;
}
