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 { OffsetCheckpoint } from './offset_checkpoint.js';
import { Completion } from './completion.js';
/**
 * @generated from protobuf message com.daml.ledger.api.v2.CompletionStreamRequest
 */
export interface CompletionStreamRequest {
    /**
     * Only completions of commands submitted with the same user_id will be visible in the stream.
     * Must be a valid UserIdString (as described in ``value.proto``).
     * Required unless authentication is used with a user token.
     * In that case, the token's user-id will be used for the request's user_id.
     *
     * @generated from protobuf field: string user_id = 1
     */
    userId: string;
    /**
     * Non-empty list of parties whose data should be included.
     * The stream shows only completions of commands for which at least one of the ``act_as`` parties is in the given set of parties.
     * Must be a valid PartyIdString (as described in ``value.proto``).
     * Required
     *
     * @generated from protobuf field: repeated string parties = 2
     */
    parties: string[];
    /**
     * This optional field indicates the minimum offset for completions. This can be used to resume an earlier completion stream.
     * If not set the ledger uses the ledger begin offset instead.
     * If specified, it must be a valid absolute offset (positive integer) or zero (ledger begin offset).
     * If the ledger has been pruned, this parameter must be specified and greater than the pruning offset.
     *
     * @generated from protobuf field: int64 begin_exclusive = 3
     */
    beginExclusive: bigint;
}
/**
 * @generated from protobuf message com.daml.ledger.api.v2.CompletionStreamResponse
 */
export interface CompletionStreamResponse {
    /**
     * @generated from protobuf oneof: completion_response
     */
    completionResponse: {
        oneofKind: 'completion';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.Completion completion = 1
         */
        completion: Completion;
    } | {
        oneofKind: 'offsetCheckpoint';
        /**
         * @generated from protobuf field: com.daml.ledger.api.v2.OffsetCheckpoint offset_checkpoint = 2
         */
        offsetCheckpoint: OffsetCheckpoint;
    } | {
        oneofKind: undefined;
    };
}
declare class CompletionStreamRequest$Type extends MessageType<CompletionStreamRequest> {
    constructor();
    create(value?: PartialMessage<CompletionStreamRequest>): CompletionStreamRequest;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CompletionStreamRequest): CompletionStreamRequest;
    internalBinaryWrite(message: CompletionStreamRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.CompletionStreamRequest
 */
export declare const CompletionStreamRequest: CompletionStreamRequest$Type;
declare class CompletionStreamResponse$Type extends MessageType<CompletionStreamResponse> {
    constructor();
    create(value?: PartialMessage<CompletionStreamResponse>): CompletionStreamResponse;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CompletionStreamResponse): CompletionStreamResponse;
    internalBinaryWrite(message: CompletionStreamResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message com.daml.ledger.api.v2.CompletionStreamResponse
 */
export declare const CompletionStreamResponse: CompletionStreamResponse$Type;
/**
 * @generated ServiceType for protobuf service com.daml.ledger.api.v2.CommandCompletionService
 */
export declare const CommandCompletionService: ServiceType;
export {};
//# sourceMappingURL=command_completion_service.d.ts.map