import { ServiceType } from '@protobuf-ts/runtime-rpc';
import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { Reassignment } from './reassignment.js';
import { EventFormat } from './transaction_filter.js';
import { ReassignmentCommands } from './reassignment_commands.js';
import { TransactionTree } from './transaction.js';
import { Transaction } from './transaction.js';
import { TransactionFormat } from './transaction_filter.js';
import { Commands } from './commands.js';
/**
 * These commands are executed as a single atomic transaction.
 *
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitRequest
 */
export interface SubmitAndWaitRequest {
    /**
     * The commands to be submitted.
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Commands commands = 1
     */
    commands?: Commands;
}
/**
 * These commands are executed as a single atomic transaction.
 *
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionRequest
 */
export interface SubmitAndWaitForTransactionRequest {
    /**
     * The commands to be submitted.
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Commands commands = 1
     */
    commands?: Commands;
    /**
     * If no ``transaction_format`` is provided, a default will be used where ``transaction_shape`` is set to
     * TRANSACTION_SHAPE_ACS_DELTA, ``event_format`` is defined with ``filters_by_party`` containing wildcard-template
     * filter for all original ``act_as`` and ``read_as`` parties and the ``verbose`` flag is set.
     * Optional
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionFormat transaction_format = 2
     */
    transactionFormat?: TransactionFormat;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitResponse
 */
export interface SubmitAndWaitResponse {
    /**
     * The id of the transaction that resulted from the submitted command.
     * Must be a valid LedgerString (as described in ``value.proto``).
     * Required
     *
     * @generated from protobuf field: string update_id = 1
     */
    updateId: string;
    /**
     * The details of the offset field are described in ``community/ledger-api/README.md``.
     * Required
     *
     * @generated from protobuf field: int64 completion_offset = 2
     */
    completionOffset: bigint;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionResponse
 */
export interface SubmitAndWaitForTransactionResponse {
    /**
     * The transaction that resulted from the submitted command.
     * The transaction might contain no events (request conditions result in filtering out all of them).
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Transaction transaction = 1
     */
    transaction?: Transaction;
}
/**
 * Provided for backwards compatibility, it will be removed in the Canton version 3.4.0.
 *
 * @deprecated
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionTreeResponse
 */
export interface SubmitAndWaitForTransactionTreeResponse {
    /**
     * The transaction tree that resulted from the submitted command.
     * The transaction might contain no events (request conditions result in filtering out all of them).
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionTree transaction = 1
     */
    transaction?: TransactionTree;
}
/**
 * This reassignment is executed as a single atomic update.
 *
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitForReassignmentRequest
 */
export interface SubmitAndWaitForReassignmentRequest {
    /**
     * The reassignment commands to be submitted.
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.ReassignmentCommands reassignment_commands = 1
     */
    reassignmentCommands?: ReassignmentCommands;
    /**
     * Optional
     * If no event_format provided, the result will contain no events.
     * The events in the result, will take shape TRANSACTION_SHAPE_ACS_DELTA.
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.EventFormat event_format = 2
     */
    eventFormat?: EventFormat;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.SubmitAndWaitForReassignmentResponse
 */
export interface SubmitAndWaitForReassignmentResponse {
    /**
     * The reassignment that resulted from the submitted reassignment command.
     * The reassignment might contain no events (request conditions result in filtering out all of them).
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Reassignment reassignment = 1
     */
    reassignment?: Reassignment;
}
declare class SubmitAndWaitRequest$Type extends MessageType<SubmitAndWaitRequest> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitRequest>): SubmitAndWaitRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitRequest): SubmitAndWaitRequest;
    internalBinaryWrite(message: SubmitAndWaitRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitRequest
 */
export declare const SubmitAndWaitRequest: SubmitAndWaitRequest$Type;
declare class SubmitAndWaitForTransactionRequest$Type extends MessageType<SubmitAndWaitForTransactionRequest> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitForTransactionRequest>): SubmitAndWaitForTransactionRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitForTransactionRequest): SubmitAndWaitForTransactionRequest;
    internalBinaryWrite(message: SubmitAndWaitForTransactionRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionRequest
 */
export declare const SubmitAndWaitForTransactionRequest: SubmitAndWaitForTransactionRequest$Type;
declare class SubmitAndWaitResponse$Type extends MessageType<SubmitAndWaitResponse> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitResponse>): SubmitAndWaitResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitResponse): SubmitAndWaitResponse;
    internalBinaryWrite(message: SubmitAndWaitResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitResponse
 */
export declare const SubmitAndWaitResponse: SubmitAndWaitResponse$Type;
declare class SubmitAndWaitForTransactionResponse$Type extends MessageType<SubmitAndWaitForTransactionResponse> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitForTransactionResponse>): SubmitAndWaitForTransactionResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitForTransactionResponse): SubmitAndWaitForTransactionResponse;
    internalBinaryWrite(message: SubmitAndWaitForTransactionResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionResponse
 */
export declare const SubmitAndWaitForTransactionResponse: SubmitAndWaitForTransactionResponse$Type;
declare class SubmitAndWaitForTransactionTreeResponse$Type extends MessageType<SubmitAndWaitForTransactionTreeResponse> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitForTransactionTreeResponse>): SubmitAndWaitForTransactionTreeResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitForTransactionTreeResponse): SubmitAndWaitForTransactionTreeResponse;
    internalBinaryWrite(message: SubmitAndWaitForTransactionTreeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitForTransactionTreeResponse
 */
export declare const SubmitAndWaitForTransactionTreeResponse: SubmitAndWaitForTransactionTreeResponse$Type;
declare class SubmitAndWaitForReassignmentRequest$Type extends MessageType<SubmitAndWaitForReassignmentRequest> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitForReassignmentRequest>): SubmitAndWaitForReassignmentRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitForReassignmentRequest): SubmitAndWaitForReassignmentRequest;
    internalBinaryWrite(message: SubmitAndWaitForReassignmentRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitForReassignmentRequest
 */
export declare const SubmitAndWaitForReassignmentRequest: SubmitAndWaitForReassignmentRequest$Type;
declare class SubmitAndWaitForReassignmentResponse$Type extends MessageType<SubmitAndWaitForReassignmentResponse> {
    constructor();
    create(value?: PartialMessage<SubmitAndWaitForReassignmentResponse>): SubmitAndWaitForReassignmentResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SubmitAndWaitForReassignmentResponse): SubmitAndWaitForReassignmentResponse;
    internalBinaryWrite(message: SubmitAndWaitForReassignmentResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.SubmitAndWaitForReassignmentResponse
 */
export declare const SubmitAndWaitForReassignmentResponse: SubmitAndWaitForReassignmentResponse$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.CommandService
 */
export declare const CommandService: ServiceType;
export {};
//# sourceMappingURL=command_service.d.ts.map