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 { TransactionFormat } from './transaction_filter.js';
import { TransactionTree } from './transaction.js';
import { TopologyTransaction } from './topology_transaction.js';
import { OffsetCheckpoint } from './offset_checkpoint.js';
import { Reassignment } from './reassignment.js';
import { Transaction } from './transaction.js';
import { UpdateFormat } from './transaction_filter.js';
import { TransactionFilter } from './transaction_filter.js';
/**
 * @generated from protobuf message com.daml.ledger.api.v2.GetUpdatesRequest
 */
export interface GetUpdatesRequest {
    /**
     * Beginning of the requested ledger section (non-negative integer).
     * The response will only contain transactions whose offset is strictly greater than this.
     * If zero, the stream will start from the beginning of the ledger.
     * If positive, the streaming will start after this absolute offset.
     * If the ledger has been pruned, this parameter must be specified and be greater than the pruning offset.
     *
     * @generated from protobuf field: int64 begin_exclusive = 1
     */
    beginExclusive: bigint;
    /**
     * End of the requested ledger section.
     * The response will only contain transactions whose offset is less than or equal to this.
     * Optional, if empty, the stream will not terminate.
     * If specified, the stream will terminate after this absolute offset (positive integer) is reached.
     *
     * @generated from protobuf field: optional int64 end_inclusive = 2
     */
    endInclusive?: bigint;
    /**
     * Provided for backwards compatibility, it will be removed in the Canton version 3.4.0.
     * Requesting parties with template filters.
     * Template filters must be empty for GetUpdateTrees requests.
     * Optional for backwards compatibility, if defined update_format must be unset
     *
     * @deprecated
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionFilter filter = 3 [deprecated = true]
     */
    filter?: TransactionFilter;
    /**
     * Provided for backwards compatibility, it will be removed in the Canton version 3.4.0.
     * If enabled, values served over the API will contain more information than strictly necessary to interpret the data.
     * In particular, setting the verbose flag to true triggers the ledger to include labels, record and variant type ids
     * for record fields.
     * Optional for backwards compatibility, if defined update_format must be unset
     *
     * @deprecated
     * @generated from protobuf field: bool verbose = 4 [deprecated = true]
     */
    verbose: boolean;
    /**
     * Must be unset for GetUpdateTrees request.
     * Optional for backwards compatibility for GetUpdates request: defaults to an UpdateFormat where:
     *
     * - include_transactions.event_format.filters_by_party = the filter.filters_by_party on this request
     * - include_transactions.event_format.filters_for_any_party = the filter.filters_for_any_party on this request
     * - include_transactions.event_format.verbose = the same flag specified on this request
     * - include_transactions.transaction_shape = TRANSACTION_SHAPE_ACS_DELTA
     * - include_reassignments.filter = the same filter specified on this request
     * - include_reassignments.verbose = the same flag specified on this request
     * - include_topology_events.include_participant_authorization_events.parties = all the parties specified in filter
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.UpdateFormat update_format = 5
     */
    updateFormat?: UpdateFormat;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.GetUpdatesResponse
 */
export interface GetUpdatesResponse {
    /**
     * The update that matches the filter in the request.
     *
     * @generated from protobuf oneof: update
     */
    update: {
        oneofKind: 'transaction';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Transaction transaction = 1
         */
        transaction: Transaction;
    } | {
        oneofKind: 'reassignment';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Reassignment reassignment = 2
         */
        reassignment: Reassignment;
    } | {
        oneofKind: 'offsetCheckpoint';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.OffsetCheckpoint offset_checkpoint = 3
         */
        offsetCheckpoint: OffsetCheckpoint;
    } | {
        oneofKind: 'topologyTransaction';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.TopologyTransaction topology_transaction = 4
         */
        topologyTransaction: TopologyTransaction;
    } | {
        oneofKind: undefined;
    };
}
/**
 * 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.GetUpdateTreesResponse
 */
export interface GetUpdateTreesResponse {
    /**
     * The update that matches the filter in the request.
     *
     * @generated from protobuf oneof: update
     */
    update: {
        oneofKind: 'transactionTree';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.TransactionTree transaction_tree = 1
         */
        transactionTree: TransactionTree;
    } | {
        oneofKind: 'reassignment';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Reassignment reassignment = 2
         */
        reassignment: Reassignment;
    } | {
        oneofKind: 'offsetCheckpoint';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.OffsetCheckpoint offset_checkpoint = 3
         */
        offsetCheckpoint: OffsetCheckpoint;
    } | {
        oneofKind: undefined;
    };
}
/**
 * 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.GetTransactionByOffsetRequest
 */
export interface GetTransactionByOffsetRequest {
    /**
     * The offset of the transaction being looked up.
     * Must be a valid absolute offset (positive integer).
     * Required
     *
     * @generated from protobuf field: int64 offset = 1
     */
    offset: bigint;
    /**
     * Provided for backwards compatibility, it will be removed in the Canton version 3.4.0.
     * The parties whose events the client expects to see.
     * Events that are not visible for the parties in this collection will not be present in the response.
     * Each element must be a valid PartyIdString (as described in ``value.proto``).
     * Must be set for GetTransactionTreeByOffset request.
     * Optional for backwards compatibility for GetTransactionByOffset request: if defined transaction_format must be
     * unset (falling back to defaults).
     *
     * @generated from protobuf field: repeated string requesting_parties = 2
     */
    requestingParties: string[];
    /**
     * Must be unset for GetTransactionTreeByOffset request.
     * Optional for GetTransactionByOffset request for backwards compatibility: defaults to a TransactionFormat, where:
     *
     * - event_format.filters_by_party will have template-wildcard filters for all the requesting_parties
     * - event_format.filters_for_any_party is unset
     * - event_format.verbose = true
     * - transaction_shape = TRANSACTION_SHAPE_ACS_DELTA
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionFormat transaction_format = 3
     */
    transactionFormat?: TransactionFormat;
}
/**
 * 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.GetTransactionByIdRequest
 */
export interface GetTransactionByIdRequest {
    /**
     * The ID of a particular transaction.
     * Must be a valid LedgerString (as described in ``value.proto``).
     * Required
     *
     * @generated from protobuf field: string update_id = 1
     */
    updateId: string;
    /**
     * Provided for backwards compatibility, it will be removed in the Canton version 3.4.0.
     * The parties whose events the client expects to see.
     * Events that are not visible for the parties in this collection will not be present in the response.
     * Each element must be a valid PartyIdString (as described in ``value.proto``).
     * Must be set for GetTransactionTreeById request.
     * Optional for backwards compatibility for GetTransactionById request: if defined transaction_format must be
     * unset (falling back to defaults).
     *
     * @generated from protobuf field: repeated string requesting_parties = 2
     */
    requestingParties: string[];
    /**
     * Must be unset for GetTransactionTreeById request.
     * Optional for GetTransactionById request for backwards compatibility: defaults to a transaction_format, where:
     *
     * - event_format.filters_by_party will have template-wildcard filters for all the requesting_parties
     * - event_format.filters_for_any_party is unset
     * - event_format.verbose = true
     * - transaction_shape = TRANSACTION_SHAPE_ACS_DELTA
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionFormat transaction_format = 3
     */
    transactionFormat?: TransactionFormat;
}
/**
 * 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.GetTransactionTreeResponse
 */
export interface GetTransactionTreeResponse {
    /**
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.TransactionTree transaction = 1
     */
    transaction?: TransactionTree;
}
/**
 * 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.GetTransactionResponse
 */
export interface GetTransactionResponse {
    /**
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.Transaction transaction = 1
     */
    transaction?: Transaction;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.GetUpdateByOffsetRequest
 */
export interface GetUpdateByOffsetRequest {
    /**
     * The offset of the update being looked up.
     * Must be a valid absolute offset (positive integer).
     * Required
     *
     * @generated from protobuf field: int64 offset = 1
     */
    offset: bigint;
    /**
     * The format for the update.
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.UpdateFormat update_format = 2
     */
    updateFormat?: UpdateFormat;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.GetUpdateByIdRequest
 */
export interface GetUpdateByIdRequest {
    /**
     * The ID of a particular update.
     * Must be a valid LedgerString (as described in ``value.proto``).
     * Required
     *
     * @generated from protobuf field: string update_id = 1
     */
    updateId: string;
    /**
     * The format for the update.
     * Required
     *
     * @generated from protobuf field: com.daml.ledger.api.v2.UpdateFormat update_format = 2
     */
    updateFormat?: UpdateFormat;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.GetUpdateResponse
 */
export interface GetUpdateResponse {
    /**
     * The update that matches the filter in the request.
     *
     * @generated from protobuf oneof: update
     */
    update: {
        oneofKind: 'transaction';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Transaction transaction = 1
         */
        transaction: Transaction;
    } | {
        oneofKind: 'reassignment';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Reassignment reassignment = 2
         */
        reassignment: Reassignment;
    } | {
        oneofKind: 'topologyTransaction';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.TopologyTransaction topology_transaction = 3
         */
        topologyTransaction: TopologyTransaction;
    } | {
        oneofKind: undefined;
    };
}
declare class GetUpdatesRequest$Type extends MessageType<GetUpdatesRequest> {
    constructor();
    create(value?: PartialMessage<GetUpdatesRequest>): GetUpdatesRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdatesRequest): GetUpdatesRequest;
    internalBinaryWrite(message: GetUpdatesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdatesRequest
 */
export declare const GetUpdatesRequest: GetUpdatesRequest$Type;
declare class GetUpdatesResponse$Type extends MessageType<GetUpdatesResponse> {
    constructor();
    create(value?: PartialMessage<GetUpdatesResponse>): GetUpdatesResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdatesResponse): GetUpdatesResponse;
    internalBinaryWrite(message: GetUpdatesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdatesResponse
 */
export declare const GetUpdatesResponse: GetUpdatesResponse$Type;
declare class GetUpdateTreesResponse$Type extends MessageType<GetUpdateTreesResponse> {
    constructor();
    create(value?: PartialMessage<GetUpdateTreesResponse>): GetUpdateTreesResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdateTreesResponse): GetUpdateTreesResponse;
    internalBinaryWrite(message: GetUpdateTreesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdateTreesResponse
 */
export declare const GetUpdateTreesResponse: GetUpdateTreesResponse$Type;
declare class GetTransactionByOffsetRequest$Type extends MessageType<GetTransactionByOffsetRequest> {
    constructor();
    create(value?: PartialMessage<GetTransactionByOffsetRequest>): GetTransactionByOffsetRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTransactionByOffsetRequest): GetTransactionByOffsetRequest;
    internalBinaryWrite(message: GetTransactionByOffsetRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetTransactionByOffsetRequest
 */
export declare const GetTransactionByOffsetRequest: GetTransactionByOffsetRequest$Type;
declare class GetTransactionByIdRequest$Type extends MessageType<GetTransactionByIdRequest> {
    constructor();
    create(value?: PartialMessage<GetTransactionByIdRequest>): GetTransactionByIdRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTransactionByIdRequest): GetTransactionByIdRequest;
    internalBinaryWrite(message: GetTransactionByIdRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetTransactionByIdRequest
 */
export declare const GetTransactionByIdRequest: GetTransactionByIdRequest$Type;
declare class GetTransactionTreeResponse$Type extends MessageType<GetTransactionTreeResponse> {
    constructor();
    create(value?: PartialMessage<GetTransactionTreeResponse>): GetTransactionTreeResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTransactionTreeResponse): GetTransactionTreeResponse;
    internalBinaryWrite(message: GetTransactionTreeResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetTransactionTreeResponse
 */
export declare const GetTransactionTreeResponse: GetTransactionTreeResponse$Type;
declare class GetTransactionResponse$Type extends MessageType<GetTransactionResponse> {
    constructor();
    create(value?: PartialMessage<GetTransactionResponse>): GetTransactionResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetTransactionResponse): GetTransactionResponse;
    internalBinaryWrite(message: GetTransactionResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @deprecated
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetTransactionResponse
 */
export declare const GetTransactionResponse: GetTransactionResponse$Type;
declare class GetUpdateByOffsetRequest$Type extends MessageType<GetUpdateByOffsetRequest> {
    constructor();
    create(value?: PartialMessage<GetUpdateByOffsetRequest>): GetUpdateByOffsetRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdateByOffsetRequest): GetUpdateByOffsetRequest;
    internalBinaryWrite(message: GetUpdateByOffsetRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdateByOffsetRequest
 */
export declare const GetUpdateByOffsetRequest: GetUpdateByOffsetRequest$Type;
declare class GetUpdateByIdRequest$Type extends MessageType<GetUpdateByIdRequest> {
    constructor();
    create(value?: PartialMessage<GetUpdateByIdRequest>): GetUpdateByIdRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdateByIdRequest): GetUpdateByIdRequest;
    internalBinaryWrite(message: GetUpdateByIdRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdateByIdRequest
 */
export declare const GetUpdateByIdRequest: GetUpdateByIdRequest$Type;
declare class GetUpdateResponse$Type extends MessageType<GetUpdateResponse> {
    constructor();
    create(value?: PartialMessage<GetUpdateResponse>): GetUpdateResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetUpdateResponse): GetUpdateResponse;
    internalBinaryWrite(message: GetUpdateResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.GetUpdateResponse
 */
export declare const GetUpdateResponse: GetUpdateResponse$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.UpdateService
 */
export declare const UpdateService: ServiceType;
export {};
//# sourceMappingURL=update_service.d.ts.map