import { Callback } from "../util/Callback";
import { ClientCancellableCall } from "../call/ClientCancellableCall";
import { ICommandServiceClient } from "../generated/com/daml/ledger/api/v1/command_service_grpc_pb";
import { ValidationReporter } from "../reporting/ValidationReporter";
import { SubmitAndWaitRequest } from "../model/SubmitAndWaitRequest";
import { SubmitAndWaitForTransactionResponse } from "../model/SubmitAndWaitForTransactionResponse";
import { SubmitAndWaitForTransactionIdResponse } from "../model/SubmitAndWaitForTransactionIdResponse";
import { SubmitAndWaitForTransactionTreeResponse } from "../model/SubmitAndWaitForTransactionTreeResponse";
import { CommandClient } from "./CommandClient";
export declare class NodeJsCommandClient implements CommandClient {
    private readonly ledgerId;
    private readonly client;
    private readonly reporter;
    constructor(ledgerId: string, client: ICommandServiceClient, reporter: ValidationReporter);
    private submitAndWaitCallback;
    private submitAndWaitPromise;
    submitAndWait(requestObject: SubmitAndWaitRequest): Promise<void>;
    submitAndWait(requestObject: SubmitAndWaitRequest, callback: Callback<void>): ClientCancellableCall;
    private submitAndWaitForTransactionCallback;
    private submitAndWaitForTransactionPromise;
    submitAndWaitForTransaction(requestObject: SubmitAndWaitRequest): Promise<SubmitAndWaitForTransactionResponse>;
    submitAndWaitForTransaction(requestObject: SubmitAndWaitRequest, callback: Callback<SubmitAndWaitForTransactionResponse>): ClientCancellableCall;
    private submitAndWaitForTransactionIdCallback;
    private submitAndWaitForTransactionIdPromise;
    submitAndWaitForTransactionId(requestObject: SubmitAndWaitRequest): Promise<SubmitAndWaitForTransactionIdResponse>;
    submitAndWaitForTransactionId(requestObject: SubmitAndWaitRequest, callback: Callback<SubmitAndWaitForTransactionIdResponse>): ClientCancellableCall;
    private submitAndWaitForTransactionTreeCallback;
    private submitAndWaitForTransactionTreePromise;
    submitAndWaitForTransactionTree(requestObject: SubmitAndWaitRequest): Promise<SubmitAndWaitForTransactionTreeResponse>;
    submitAndWaitForTransactionTree(requestObject: SubmitAndWaitRequest, callback: Callback<SubmitAndWaitForTransactionTreeResponse>): ClientCancellableCall;
}
