import { TransactionDTO } from "../../infrastructure/transaction/TransactionDTO";
import { MosaicId } from "../mosaic/MosaicId";
import { TimeWindow } from "./TimeWindow";
import { Transaction } from "./Transaction";
/**
 * The supply type. Supported supply types are:
 * 1: Increase in supply.
 * 2: Decrease in supply.
 */
export declare enum MosaicSupplyType {
    Increase = 1,
    Decrease = 2,
}
/**
 * In case a mosaic definition has the property 'supplyMutable' set to true, the creator of the mosaic definition can change the supply, i.e. increase or decrease the supply.
 */
export declare class MosaicSupplyChangeTransaction extends Transaction {
    /**
     * The fee for the transaction. The higher the fee, the higher the priority of the transaction. Transactions with high priority get included in a block before transactions with lower priority.
     */
    readonly fee: number;
    /**
     * The mosaic id.
     */
    readonly mosaicId: MosaicId;
    /**
     * The supply type.
     */
    readonly supplyType: MosaicSupplyType;
    /**
     * The supply change in units for the mosaic.
     */
    readonly delta: number;
    /**
     * Create DTO of MosaicSupplychangeTransaction
     * @returns TransactionDTO
     */
    toDTO(): TransactionDTO;
    /**
     * Create a MosaicSupplyChangeTransaction object
     * @param timeWindow
     * @param mosaicId
     * @param supplyType
     * @param delta
     * @returns {MosaicSupplyChangeTransaction}
     */
    static create(timeWindow: TimeWindow, mosaicId: MosaicId, supplyType: MosaicSupplyType, delta: number): MosaicSupplyChangeTransaction;
}
