import type { MessageInitShape } from "@bufbuild/protobuf";
import { AlterTopicRequestSchema, AlterTopicResponseSchema, CommitOffsetRequestSchema, CommitOffsetResponseSchema, CreateTopicRequestSchema, CreateTopicResponseSchema, DescribeConsumerRequestSchema, DescribeConsumerResponseSchema, DescribeTopicRequestSchema, DescribeTopicResponseSchema, DropTopicRequestSchema, DropTopicResponseSchema, StreamReadMessage_FromClientSchema, StreamReadMessage_FromServerSchema, StreamWriteMessage_FromClientSchema, StreamWriteMessage_FromServerSchema, UpdateOffsetsInTransactionRequestSchema, UpdateOffsetsInTransactionResponseSchema } from "./protos/ydb_topic_pb.js";
/**
 * @generated from service Ydb.Topic.V1.TopicService
 */
export declare const TopicServiceDefinition: {
    /**
     * Create Write Session
     * Pipeline example:
     * client                  server
     *         InitRequest(Topic, MessageGroupID, ...)
     *        ---------------->
     *         InitResponse(Partition, MaxSeqNo, ...)
     *        <----------------
     *         WriteRequest(data1, seqNo1)
     *        ---------------->
     *         WriteRequest(data2, seqNo2)
     *        ---------------->
     *         WriteResponse(seqNo1, offset1, ...)
     *        <----------------
     *         WriteRequest(data3, seqNo3)
     *        ---------------->
     *         WriteResponse(seqNo2, offset2, ...)
     *        <----------------
     *         [something went wrong] (status != SUCCESS, issues not empty)
     *        <----------------
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.StreamWrite
     */
    readonly streamWrite: {
        readonly path: "/Ydb.Topic.V1.TopicService/StreamWrite";
        readonly requestStream: true;
        readonly requestSerialize: (message: MessageInitShape<typeof StreamWriteMessage_FromClientSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").StreamWriteMessage_FromClient;
        readonly responseStream: true;
        readonly responseSerialize: (message: MessageInitShape<typeof StreamWriteMessage_FromServerSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").StreamWriteMessage_FromServer;
        readonly options: {};
    };
    /**
     * Create Read Session
     * Pipeline:
     * client                  server
     *         InitRequest(Topics, ClientId, ...)
     *        ---------------->
     *         InitResponse(SessionId)
     *        <----------------
     *         ReadRequest
     *        ---------------->
     *         ReadRequest
     *        ---------------->
     *         StartPartitionSessionRequest(Topic1, Partition1, PartitionSessionID1, ...)
     *        <----------------
     *         StartPartitionSessionRequest(Topic2, Partition2, PartitionSessionID2, ...)
     *        <----------------
     *         StartPartitionSessionResponse(PartitionSessionID1, ...)
     *             client must respond with this message to actually start recieving data messages from this partition
     *        ---------------->
     *         StopPartitionSessionRequest(PartitionSessionID1, ...)
     *        <----------------
     *         StopPartitionSessionResponse(PartitionSessionID1, ...)
     *             only after this response server will give this parittion to other session.
     *        ---------------->
     *         StartPartitionSessionResponse(PartitionSession2, ...)
     *        ---------------->
     *         ReadResponse(data, ...)
     *        <----------------
     *         CommitRequest(PartitionCommit1, ...)
     *        ---------------->
     *         CommitResponse(PartitionCommitAck1, ...)
     *        <----------------
     *         [something went wrong] (status != SUCCESS, issues not empty)
     *        <----------------
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.StreamRead
     */
    readonly streamRead: {
        readonly path: "/Ydb.Topic.V1.TopicService/StreamRead";
        readonly requestStream: true;
        readonly requestSerialize: (message: MessageInitShape<typeof StreamReadMessage_FromClientSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").StreamReadMessage_FromClient;
        readonly responseStream: true;
        readonly responseSerialize: (message: MessageInitShape<typeof StreamReadMessage_FromServerSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").StreamReadMessage_FromServer;
        readonly options: {};
    };
    /**
     * Single commit offset request.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.CommitOffset
     */
    readonly commitOffset: {
        readonly path: "/Ydb.Topic.V1.TopicService/CommitOffset";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof CommitOffsetRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").CommitOffsetRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof CommitOffsetResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").CommitOffsetResponse;
        readonly options: {};
    };
    /**
     * Add information about offset ranges to the transaction.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.UpdateOffsetsInTransaction
     */
    readonly updateOffsetsInTransaction: {
        readonly path: "/Ydb.Topic.V1.TopicService/UpdateOffsetsInTransaction";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof UpdateOffsetsInTransactionRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").UpdateOffsetsInTransactionRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof UpdateOffsetsInTransactionResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").UpdateOffsetsInTransactionResponse;
        readonly options: {};
    };
    /**
     * Create topic command.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.CreateTopic
     */
    readonly createTopic: {
        readonly path: "/Ydb.Topic.V1.TopicService/CreateTopic";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof CreateTopicRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").CreateTopicRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof CreateTopicResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").CreateTopicResponse;
        readonly options: {};
    };
    /**
     * Describe topic command.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.DescribeTopic
     */
    readonly describeTopic: {
        readonly path: "/Ydb.Topic.V1.TopicService/DescribeTopic";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof DescribeTopicRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DescribeTopicRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof DescribeTopicResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DescribeTopicResponse;
        readonly options: {};
    };
    /**
     * Describe topic's consumer command.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.DescribeConsumer
     */
    readonly describeConsumer: {
        readonly path: "/Ydb.Topic.V1.TopicService/DescribeConsumer";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof DescribeConsumerRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DescribeConsumerRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof DescribeConsumerResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DescribeConsumerResponse;
        readonly options: {};
    };
    /**
     * Alter topic command.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.AlterTopic
     */
    readonly alterTopic: {
        readonly path: "/Ydb.Topic.V1.TopicService/AlterTopic";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof AlterTopicRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").AlterTopicRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof AlterTopicResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").AlterTopicResponse;
        readonly options: {};
    };
    /**
     * Drop topic command.
     *
     * @generated from rpc Ydb.Topic.V1.TopicService.DropTopic
     */
    readonly dropTopic: {
        readonly path: "/Ydb.Topic.V1.TopicService/DropTopic";
        readonly requestStream: false;
        readonly requestSerialize: (message: MessageInitShape<typeof DropTopicRequestSchema>) => Uint8Array<ArrayBufferLike>;
        readonly requestDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DropTopicRequest;
        readonly responseStream: false;
        readonly responseSerialize: (message: MessageInitShape<typeof DropTopicResponseSchema>) => Uint8Array<ArrayBufferLike>;
        readonly responseDeserialize: (bytes: Uint8Array) => import("./protos/ydb_topic_pb.js").DropTopicResponse;
        readonly options: {};
    };
};
//# sourceMappingURL=ydb_topic_v1_grpc_pb.d.ts.map