/** * @namespace proto * @typedef {import("@hashgraph/proto").proto.IConsensusSubmitMessageTransactionBody} HashgraphProto.proto.IConsensusSubmitMessageTransactionBody * @typedef {import("@hashgraph/proto").proto.ITransaction} HashgraphProto.proto.ITransaction * @typedef {import("@hashgraph/proto").proto.ISignedTransaction} HashgraphProto.proto.ISignedTransaction * @typedef {import("@hashgraph/proto").proto.TransactionBody} HashgraphProto.proto.TransactionBody * @typedef {import("@hashgraph/proto").proto.ITransactionBody} HashgraphProto.proto.ITransactionBody * @typedef {import("@hashgraph/proto").proto.ITransactionResponse} HashgraphProto.proto.ITransactionResponse * @typedef {import("@hashgraph/proto").proto.IConsensusMessageChunkInfo} HashgraphProto.proto.IConsensusMessageChunkInfo */ /** * @typedef {import("../channel/Channel.js").default} Channel * @typedef {import("../account/AccountId.js").default} AccountId * @typedef {import("../transaction/TransactionResponse.js").default} TransactionResponse * @typedef {import("../schedule/ScheduleCreateTransaction.js").default} ScheduleCreateTransaction */ export default class TopicMessageSubmitTransaction extends Transaction { /** * @internal * @param {HashgraphProto.proto.ITransaction[]} transactions * @param {HashgraphProto.proto.ISignedTransaction[]} signedTransactions * @param {TransactionId[]} transactionIds * @param {AccountId[]} nodeIds * @param {HashgraphProto.proto.ITransactionBody[]} bodies * @returns {TopicMessageSubmitTransaction} */ static _fromProtobuf(transactions: HashgraphProto.proto.ITransaction[], signedTransactions: HashgraphProto.proto.ISignedTransaction[], transactionIds: TransactionId[], nodeIds: AccountId[], bodies: HashgraphProto.proto.ITransactionBody[]): TopicMessageSubmitTransaction; /** * @param {object} props * @param {TopicId | string} [props.topicId] * @param {Uint8Array | string} [props.message] * @param {number} [props.maxChunks] * @param {number} [props.chunkSize] */ constructor(props?: { topicId?: string | TopicId | undefined; message?: string | Uint8Array | undefined; maxChunks?: number | undefined; chunkSize?: number | undefined; }); /** * @private * @type {?TopicId} */ private _topicId; /** * @private * @type {?Uint8Array} */ private _message; /** * @private * @type {number} */ private _maxChunks; /** * @private * @type {number} */ private _chunkSize; /** @type {HashgraphProto.proto.IConsensusMessageChunkInfo | null} */ _chunkInfo: HashgraphProto.proto.IConsensusMessageChunkInfo | null; /** * @returns {?TopicId} */ get topicId(): TopicId | null; /** * @param {TopicId | string} topicId * @returns {this} */ setTopicId(topicId: TopicId | string): this; /** * @returns {?Uint8Array} */ get message(): Uint8Array | null; /** * @param {string | Uint8Array} message * @returns {this} */ setMessage(message: string | Uint8Array): this; /** * @returns {?number} */ get maxChunks(): number | null; /** * @param {number} maxChunks * @returns {this} */ setMaxChunks(maxChunks: number): this; /** * @returns {?number} */ get chunkSize(): number | null; /** * @param {number} chunkSize * @returns {this} */ setChunkSize(chunkSize: number): this; /** * Freeze this transaction from further modification to prepare for * signing or serialization. * * Will use the `Client`, if available, to generate a default Transaction ID and select 1/3 * nodes to prepare this transaction for. * * @param {?import("../client/Client.js").default} client * @returns {this} */ freezeWith(client: import("../client/Client.js").default | null): this; /** * @param {import("../client/Client.js").default} client * @param {number=} requestTimeout * @returns {Promise} */ execute(client: import("../client/Client.js").default, requestTimeout?: number | undefined): Promise; /** * @param {import("../client/Client.js").default} client * @param {number=} requestTimeout * @returns {Promise} */ executeAll(client: import("../client/Client.js").default, requestTimeout?: number | undefined): Promise; /** * @override * @protected * @returns {HashgraphProto.proto.IConsensusSubmitMessageTransactionBody} */ protected override _makeTransactionData(): HashgraphProto.proto.IConsensusSubmitMessageTransactionBody; } export namespace HashgraphProto { namespace proto { type IConsensusSubmitMessageTransactionBody = import("@hashgraph/proto").proto.IConsensusSubmitMessageTransactionBody; type ITransaction = import("@hashgraph/proto").proto.ITransaction; type ISignedTransaction = import("@hashgraph/proto").proto.ISignedTransaction; type TransactionBody = import("@hashgraph/proto").proto.TransactionBody; type ITransactionBody = import("@hashgraph/proto").proto.ITransactionBody; type ITransactionResponse = import("@hashgraph/proto").proto.ITransactionResponse; type IConsensusMessageChunkInfo = import("@hashgraph/proto").proto.IConsensusMessageChunkInfo; } } export type Channel = import("../channel/Channel.js").default; export type AccountId = import("../account/AccountId.js").default; export type TransactionResponse = import("../transaction/TransactionResponse.js").default; export type ScheduleCreateTransaction = import("../schedule/ScheduleCreateTransaction.js").default; import Transaction from "../transaction/Transaction.js"; import TopicId from "./TopicId.js"; import TransactionId from "../transaction/TransactionId.js";