/**
 * Generated by the protoc-gen-ts.  DO NOT EDIT!
 * compiler version: 5.28.3
 * source: services.proto
 * git: https://github.com/thesayyn/protoc-gen-ts */
import * as dependency_1 from "./index";
import * as grpc_1 from "@grpc/grpc-js";
export namespace font_services {
    interface GrpcUnaryServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
        (message: P, callback: grpc_1.requestCallback<R>): grpc_1.ClientUnaryCall;
    }
    interface GrpcStreamServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
        (message: P, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<R>;
    }
    interface GrpWritableServiceInterface<P, R> {
        (metadata: grpc_1.Metadata, options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (metadata: grpc_1.Metadata, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (options: grpc_1.CallOptions, callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
        (callback: grpc_1.requestCallback<R>): grpc_1.ClientWritableStream<P>;
    }
    interface GrpcChunkServiceInterface<P, R> {
        (metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
        (options?: grpc_1.CallOptions): grpc_1.ClientDuplexStream<P, R>;
    }
    interface GrpcPromiseServiceInterface<P, R> {
        (message: P, metadata: grpc_1.Metadata, options?: grpc_1.CallOptions): Promise<R>;
        (message: P, options?: grpc_1.CallOptions): Promise<R>;
    }
    export abstract class UnimplementedFontApiService {
        static definition = {
            FontSplit: {
                path: "/font_services.FontApi/FontSplit",
                requestStream: false,
                responseStream: true,
                requestSerialize: (message: dependency_1.api_interface.InputTemplate) => Buffer.from(message.serialize()),
                requestDeserialize: (bytes: Buffer) => dependency_1.api_interface.InputTemplate.deserialize(new Uint8Array(bytes)),
                responseSerialize: (message: dependency_1.api_interface.EventMessage) => Buffer.from(message.serialize()),
                responseDeserialize: (bytes: Buffer) => dependency_1.api_interface.EventMessage.deserialize(new Uint8Array(bytes))
            }
        };
        [method: string]: grpc_1.UntypedHandleCall;
        abstract FontSplit(call: grpc_1.ServerWritableStream<dependency_1.api_interface.InputTemplate, dependency_1.api_interface.EventMessage>): void;
    }
    export class FontApiClient extends grpc_1.makeGenericClientConstructor(UnimplementedFontApiService.definition, "FontApi", {}) {
        constructor(address: string, credentials: grpc_1.ChannelCredentials, options?: Partial<grpc_1.ChannelOptions>) {
            super(address, credentials, options);
        }
        FontSplit: GrpcStreamServiceInterface<dependency_1.api_interface.InputTemplate, dependency_1.api_interface.EventMessage> = (message: dependency_1.api_interface.InputTemplate, metadata?: grpc_1.Metadata | grpc_1.CallOptions, options?: grpc_1.CallOptions): grpc_1.ClientReadableStream<dependency_1.api_interface.EventMessage> => {
            return super.FontSplit(message, metadata, options);
        };
    }
}
