import type { RpcTransport } from '@protobuf-ts/runtime-rpc';
import type { ServiceInfo } from '@protobuf-ts/runtime-rpc';
import type { SubmitReassignmentResponse } from './command_submission_service.js';
import type { SubmitReassignmentRequest } from './command_submission_service.js';
import type { SubmitResponse } from './command_submission_service.js';
import type { SubmitRequest } from './command_submission_service.js';
import type { UnaryCall } from '@protobuf-ts/runtime-rpc';
import type { RpcOptions } from '@protobuf-ts/runtime-rpc';
/**
 * Allows clients to attempt advancing the ledger's state by submitting commands.
 * The final states of their submissions are disclosed by the Command Completion Service.
 * The on-ledger effects of their submissions are disclosed by the Update Service.
 *
 * Commands may fail in 2 distinct manners:
 *
 * 1. Failure communicated synchronously in the gRPC error of the submission.
 * 2. Failure communicated asynchronously in a Completion, see ``completion.proto``.
 *
 * Note that not only successfully submitted commands MAY produce a completion event. For example, the participant MAY
 * choose to produce a completion event for a rejection of a duplicate command.
 *
 * Clients that do not receive a successful completion about their submission MUST NOT assume that it was successful.
 * Clients SHOULD subscribe to the CompletionStream before starting to submit commands to prevent race conditions.
 *
 * @generated from protobuf service com.daml.ledger.api.v2.CommandSubmissionService
 */
export interface ICommandSubmissionServiceClient {
    /**
     * Submit a single composite command.
     *
     * @generated from protobuf rpc: Submit
     */
    submit(input: SubmitRequest, options?: RpcOptions): UnaryCall<SubmitRequest, SubmitResponse>;
    /**
     * Submit a single reassignment.
     *
     * @generated from protobuf rpc: SubmitReassignment
     */
    submitReassignment(input: SubmitReassignmentRequest, options?: RpcOptions): UnaryCall<SubmitReassignmentRequest, SubmitReassignmentResponse>;
}
/**
 * Allows clients to attempt advancing the ledger's state by submitting commands.
 * The final states of their submissions are disclosed by the Command Completion Service.
 * The on-ledger effects of their submissions are disclosed by the Update Service.
 *
 * Commands may fail in 2 distinct manners:
 *
 * 1. Failure communicated synchronously in the gRPC error of the submission.
 * 2. Failure communicated asynchronously in a Completion, see ``completion.proto``.
 *
 * Note that not only successfully submitted commands MAY produce a completion event. For example, the participant MAY
 * choose to produce a completion event for a rejection of a duplicate command.
 *
 * Clients that do not receive a successful completion about their submission MUST NOT assume that it was successful.
 * Clients SHOULD subscribe to the CompletionStream before starting to submit commands to prevent race conditions.
 *
 * @generated from protobuf service com.daml.ledger.api.v2.CommandSubmissionService
 */
export declare class CommandSubmissionServiceClient implements ICommandSubmissionServiceClient, ServiceInfo {
    private readonly _transport;
    typeName: string;
    methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
    options: {
        [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
    };
    constructor(_transport: RpcTransport);
    /**
     * Submit a single composite command.
     *
     * @generated from protobuf rpc: Submit
     */
    submit(input: SubmitRequest, options?: RpcOptions): UnaryCall<SubmitRequest, SubmitResponse>;
    /**
     * Submit a single reassignment.
     *
     * @generated from protobuf rpc: SubmitReassignment
     */
    submitReassignment(input: SubmitReassignmentRequest, options?: RpcOptions): UnaryCall<SubmitReassignmentRequest, SubmitReassignmentResponse>;
}
//# sourceMappingURL=command_submission_service.client.d.ts.map