import _m0 from "protobufjs/minimal"; import { TokenID } from "./basic_types"; export declare const protobufPackage = "proto"; /** * Burns tokens from the Token's treasury Account. If no Supply Key is defined, the transaction will * resolve to TOKEN_HAS_NO_SUPPLY_KEY. * The operation decreases the Total Supply of the Token. Total supply cannot go below zero. * The amount provided must be in the lowest denomination possible. Example: * Token A has 2 decimals. In order to burn 100 tokens, one must provide amount of 10000. In order * to burn 100.55 tokens, one must provide amount of 10055. * For non fungible tokens the transaction body accepts serialNumbers list of integers as a parameter. * * If the serialNumbers don't get filled for non-fungible token type, a INVALID_TOKEN_BURN_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 both amount and serialNumbers get filled, a INVALID_TRANSACTION_BODY 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. * If the serialNumbers list contains a non-positive integer as a serial number, a INVALID_NFT_ID * response code will be returned. */ export interface TokenBurnTransactionBody { /** * The token for which to burn tokens. If token does not exist, transaction results in * INVALID_TOKEN_ID */ token: TokenID | undefined; /** * Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account. * Amount must be a positive non-zero number, not bigger than the token balance of the treasury * account (0; balance], represented in the lowest denomination. */ amount: number; /** Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned. */ serialNumbers: number[]; } export declare const TokenBurnTransactionBody: { encode(message: TokenBurnTransactionBody, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): TokenBurnTransactionBody; fromJSON(object: any): TokenBurnTransactionBody; toJSON(message: TokenBurnTransactionBody): unknown; create(base?: DeepPartial): TokenBurnTransactionBody; fromPartial(object: DeepPartial): TokenBurnTransactionBody; }; 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_burn.d.ts.map