import _m0 from "protobufjs/minimal"; import { AccountID, TokenID } from "./basic_types"; export declare const protobufPackage = "proto"; /** * Wipes the provided amount of tokens from the specified Account. Must be signed by the Token's * Wipe key. * If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID. * If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED. * If the provided token is not found, the transaction will resolve to INVALID_TOKEN_ID. * If the provided token has been deleted, the transaction will resolve to TOKEN_WAS_DELETED. * If an Association between the provided token and account is not found, the transaction will * resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT. * If Wipe Key is not present in the Token, transaction results in TOKEN_HAS_NO_WIPE_KEY. * If the provided account is the Token's Treasury Account, transaction results in * CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT * On success, tokens are removed from the account and the total supply of the token is decreased by * the wiped amount. * * If both amount and serialNumbers get filled, a INVALID_TRANSACTION_BODY response code will be * returned. * If the serialNumbers don't get filled for a non-fungible token type, a INVALID_WIPING_AMOUNT response * code will be returned. * If a zero amount is provided for a fungible token type, it will be treated as a regular transaction. * If the serialNumbers list contains a non-positive integer as a serial number, a INVALID_NFT_ID * response code will be returned. * If the serialNumbers' list count is greater than the batch size limit global dynamic property, a * BATCH_SIZE_LIMIT_EXCEEDED response code will be returned. * * The amount provided is in the lowest denomination possible. Example: * Token A has 2 decimals. In order to wipe 100 tokens from account, one must provide amount of * 10000. In order to wipe 100.55 tokens, one must provide amount of 10055. */ export interface TokenWipeAccountTransactionBody { /** * The token for which the account will be wiped. If token does not exist, transaction results * in INVALID_TOKEN_ID */ token: TokenID | undefined; /** The account to be wiped */ account: AccountID | undefined; /** * Applicable to tokens of type FUNGIBLE_COMMON. The amount of tokens to wipe from the specified * account. Amount must be a positive non-zero number in the lowest denomination possible, not * bigger than the token balance of the account (0; balance] */ amount: number; /** Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be wiped. */ serialNumbers: number[]; } export declare const TokenWipeAccountTransactionBody: { encode(message: TokenWipeAccountTransactionBody, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TokenWipeAccountTransactionBody; fromJSON(object: any): TokenWipeAccountTransactionBody; toJSON(message: TokenWipeAccountTransactionBody): unknown; create(base?: DeepPartial): TokenWipeAccountTransactionBody; fromPartial(object: DeepPartial): TokenWipeAccountTransactionBody; }; 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=token_wipe_account.d.ts.map