// package: com.daml.ledger.api.v1
// file: com/daml/ledger/api/v1/command_service.proto

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

import * as grpc from "@grpc/grpc-js";
import {handleClientStreamingCall} from "@grpc/grpc-js/build/src/server-call";
import * as com_daml_ledger_api_v1_command_service_pb from "../../../../../com/daml/ledger/api/v1/command_service_pb";
import * as com_daml_ledger_api_v1_commands_pb from "../../../../../com/daml/ledger/api/v1/commands_pb";
import * as com_daml_ledger_api_v1_trace_context_pb from "../../../../../com/daml/ledger/api/v1/trace_context_pb";
import * as com_daml_ledger_api_v1_transaction_pb from "../../../../../com/daml/ledger/api/v1/transaction_pb";
import * as google_protobuf_empty_pb from "google-protobuf/google/protobuf/empty_pb";

interface ICommandServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    submitAndWait: ICommandServiceService_ISubmitAndWait;
    submitAndWaitForTransactionId: ICommandServiceService_ISubmitAndWaitForTransactionId;
    submitAndWaitForTransaction: ICommandServiceService_ISubmitAndWaitForTransaction;
    submitAndWaitForTransactionTree: ICommandServiceService_ISubmitAndWaitForTransactionTree;
}

interface ICommandServiceService_ISubmitAndWait extends grpc.MethodDefinition<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, google_protobuf_empty_pb.Empty> {
    path: string; // "/com.daml.ledger.api.v1.CommandService/SubmitAndWait"
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    requestDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    responseSerialize: grpc.serialize<google_protobuf_empty_pb.Empty>;
    responseDeserialize: grpc.deserialize<google_protobuf_empty_pb.Empty>;
}
interface ICommandServiceService_ISubmitAndWaitForTransactionId extends grpc.MethodDefinition<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse> {
    path: string; // "/com.daml.ledger.api.v1.CommandService/SubmitAndWaitForTransactionId"
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    requestDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    responseSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse>;
    responseDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse>;
}
interface ICommandServiceService_ISubmitAndWaitForTransaction extends grpc.MethodDefinition<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse> {
    path: string; // "/com.daml.ledger.api.v1.CommandService/SubmitAndWaitForTransaction"
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    requestDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    responseSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse>;
    responseDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse>;
}
interface ICommandServiceService_ISubmitAndWaitForTransactionTree extends grpc.MethodDefinition<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse> {
    path: string; // "/com.daml.ledger.api.v1.CommandService/SubmitAndWaitForTransactionTree"
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    requestDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest>;
    responseSerialize: grpc.serialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse>;
    responseDeserialize: grpc.deserialize<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse>;
}

export const CommandServiceService: ICommandServiceService;

export interface ICommandServiceServer {
    submitAndWait: grpc.handleUnaryCall<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, google_protobuf_empty_pb.Empty>;
    submitAndWaitForTransactionId: grpc.handleUnaryCall<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse>;
    submitAndWaitForTransaction: grpc.handleUnaryCall<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse>;
    submitAndWaitForTransactionTree: grpc.handleUnaryCall<com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse>;
}

export interface ICommandServiceClient {
    submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
    submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
}

export class CommandServiceClient extends grpc.Client implements ICommandServiceClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: Partial<grpc.ClientOptions>);
    public submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    public submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    public submitAndWait(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: google_protobuf_empty_pb.Empty) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionId(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionIdResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransaction(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
    public submitAndWaitForTransactionTree(request: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: com_daml_ledger_api_v1_command_service_pb.SubmitAndWaitForTransactionTreeResponse) => void): grpc.ClientUnaryCall;
}
