import _m0 from "protobufjs/minimal";
import { ConsensusCreateTopicTransactionBody } from "./consensus_create_topic";
import { ConsensusDeleteTopicTransactionBody } from "./consensus_delete_topic";
import { ConsensusSubmitMessageTransactionBody } from "./consensus_submit_message";
import { ConsensusUpdateTopicTransactionBody } from "./consensus_update_topic";
import { ContractCallTransactionBody } from "./contract_call";
import { ContractCreateTransactionBody } from "./contract_create";
import { ContractDeleteTransactionBody } from "./contract_delete";
import { ContractUpdateTransactionBody } from "./contract_update";
import { CryptoApproveAllowanceTransactionBody } from "./crypto_approve_allowance";
import { CryptoCreateTransactionBody } from "./crypto_create";
import { CryptoDeleteTransactionBody } from "./crypto_delete";
import { CryptoDeleteAllowanceTransactionBody } from "./crypto_delete_allowance";
import { CryptoTransferTransactionBody } from "./crypto_transfer";
import { CryptoUpdateTransactionBody } from "./crypto_update";
import { FileAppendTransactionBody } from "./file_append";
import { FileCreateTransactionBody } from "./file_create";
import { FileDeleteTransactionBody } from "./file_delete";
import { FileUpdateTransactionBody } from "./file_update";
import { FreezeTransactionBody } from "./freeze";
import { ScheduleDeleteTransactionBody } from "./schedule_delete";
import { SystemDeleteTransactionBody } from "./system_delete";
import { SystemUndeleteTransactionBody } from "./system_undelete";
import { TokenAssociateTransactionBody } from "./token_associate";
import { TokenBurnTransactionBody } from "./token_burn";
import { TokenCreateTransactionBody } from "./token_create";
import { TokenDeleteTransactionBody } from "./token_delete";
import { TokenDissociateTransactionBody } from "./token_dissociate";
import { TokenFeeScheduleUpdateTransactionBody } from "./token_fee_schedule_update";
import { TokenFreezeAccountTransactionBody } from "./token_freeze_account";
import { TokenGrantKycTransactionBody } from "./token_grant_kyc";
import { TokenMintTransactionBody } from "./token_mint";
import { TokenPauseTransactionBody } from "./token_pause";
import { TokenRevokeKycTransactionBody } from "./token_revoke_kyc";
import { TokenUnfreezeAccountTransactionBody } from "./token_unfreeze_account";
import { TokenUnpauseTransactionBody } from "./token_unpause";
import { TokenUpdateTransactionBody } from "./token_update";
import { TokenWipeAccountTransactionBody } from "./token_wipe_account";
import { UtilPrngTransactionBody } from "./util_prng";
export declare const protobufPackage = "proto";
/**
* A schedulable transaction. Note that the global/dynamic system property
* scheduling.whitelist controls which transaction types may be scheduled. As of Hedera
* Services 0.24.0 this list includes ConsensusSubmitMessage, CryptoTransfer, TokenMint, and TokenBurn
* functions.
*/
export interface SchedulableTransactionBody {
/** The maximum transaction fee the client is willing to pay */
transactionFee: number;
/**
* A memo to include the execution record; the UTF-8 encoding may be up to 100 bytes and must not
* include the zero byte
*/
memo: string;
data?: {
$case: "contractCall";
contractCall: ContractCallTransactionBody;
} | {
$case: "contractCreateInstance";
contractCreateInstance: ContractCreateTransactionBody;
} | {
$case: "contractUpdateInstance";
contractUpdateInstance: ContractUpdateTransactionBody;
} | {
$case: "contractDeleteInstance";
contractDeleteInstance: ContractDeleteTransactionBody;
} | {
$case: "cryptoApproveAllowance";
cryptoApproveAllowance: CryptoApproveAllowanceTransactionBody;
} | {
$case: "cryptoDeleteAllowance";
cryptoDeleteAllowance: CryptoDeleteAllowanceTransactionBody;
} | {
$case: "cryptoCreateAccount";
cryptoCreateAccount: CryptoCreateTransactionBody;
} | {
$case: "cryptoDelete";
cryptoDelete: CryptoDeleteTransactionBody;
} | {
$case: "cryptoTransfer";
cryptoTransfer: CryptoTransferTransactionBody;
} | {
$case: "cryptoUpdateAccount";
cryptoUpdateAccount: CryptoUpdateTransactionBody;
} | {
$case: "fileAppend";
fileAppend: FileAppendTransactionBody;
} | {
$case: "fileCreate";
fileCreate: FileCreateTransactionBody;
} | {
$case: "fileDelete";
fileDelete: FileDeleteTransactionBody;
} | {
$case: "fileUpdate";
fileUpdate: FileUpdateTransactionBody;
} | {
$case: "systemDelete";
systemDelete: SystemDeleteTransactionBody;
} | {
$case: "systemUndelete";
systemUndelete: SystemUndeleteTransactionBody;
} | {
$case: "freeze";
freeze: FreezeTransactionBody;
} | {
$case: "consensusCreateTopic";
consensusCreateTopic: ConsensusCreateTopicTransactionBody;
} | {
$case: "consensusUpdateTopic";
consensusUpdateTopic: ConsensusUpdateTopicTransactionBody;
} | {
$case: "consensusDeleteTopic";
consensusDeleteTopic: ConsensusDeleteTopicTransactionBody;
} | {
$case: "consensusSubmitMessage";
consensusSubmitMessage: ConsensusSubmitMessageTransactionBody;
} | {
$case: "tokenCreation";
tokenCreation: TokenCreateTransactionBody;
} | {
$case: "tokenFreeze";
tokenFreeze: TokenFreezeAccountTransactionBody;
} | {
$case: "tokenUnfreeze";
tokenUnfreeze: TokenUnfreezeAccountTransactionBody;
} | {
$case: "tokenGrantKyc";
tokenGrantKyc: TokenGrantKycTransactionBody;
} | {
$case: "tokenRevokeKyc";
tokenRevokeKyc: TokenRevokeKycTransactionBody;
} | {
$case: "tokenDeletion";
tokenDeletion: TokenDeleteTransactionBody;
} | {
$case: "tokenUpdate";
tokenUpdate: TokenUpdateTransactionBody;
} | {
$case: "tokenMint";
tokenMint: TokenMintTransactionBody;
} | {
$case: "tokenBurn";
tokenBurn: TokenBurnTransactionBody;
} | {
$case: "tokenWipe";
tokenWipe: TokenWipeAccountTransactionBody;
} | {
$case: "tokenAssociate";
tokenAssociate: TokenAssociateTransactionBody;
} | {
$case: "tokenDissociate";
tokenDissociate: TokenDissociateTransactionBody;
} | {
$case: "tokenFeeScheduleUpdate";
tokenFeeScheduleUpdate: TokenFeeScheduleUpdateTransactionBody;
} | {
$case: "tokenPause";
tokenPause: TokenPauseTransactionBody;
} | {
$case: "tokenUnpause";
tokenUnpause: TokenUnpauseTransactionBody;
} | {
$case: "scheduleDelete";
scheduleDelete: ScheduleDeleteTransactionBody;
} | {
$case: "utilPrng";
utilPrng: UtilPrngTransactionBody;
} | undefined;
}
export declare const SchedulableTransactionBody: {
encode(message: SchedulableTransactionBody, writer?: _m0.Writer): _m0.Writer;
decode(input: _m0.Reader | Uint8Array, length?: number): SchedulableTransactionBody;
fromJSON(object: any): SchedulableTransactionBody;
toJSON(message: SchedulableTransactionBody): unknown;
create(base?: DeepPartial): SchedulableTransactionBody;
fromPartial(object: DeepPartial): SchedulableTransactionBody;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {
$case: string;
} ? {
[K in keyof Omit]?: DeepPartial;
} & {
$case: T["$case"];
} : T extends {} ? {
[K in keyof T]?: DeepPartial;
} : Partial;
export {};
//# sourceMappingURL=schedulable_transaction_body.d.ts.map