import BigNumber from 'bignumber.js'; import { AddCountTransferRestrictionParams, AddPercentageTransferRestrictionParams, Asset, Context, Namespace, SetCountTransferRestrictionsParams, SetPercentageTransferRestrictionsParams } from "../../../../internal"; import { ActiveTransferRestrictions, CountTransferRestriction, NoArgsProcedureMethod, PercentageTransferRestriction, ProcedureMethod, TransferRestrictionType } from "../../../../types"; declare type AddRestrictionParams = Omit; declare type SetRestrictionsParams = Omit; declare type GetReturnType = ActiveTransferRestrictions; /** * Base class for managing Transfer Restrictions */ export declare abstract class TransferRestrictionBase extends Namespace { protected abstract type: T; /** * @hidden */ constructor(parent: Asset, context: Context); /** * Add a Transfer Restriction of the corresponding type to this Asset * * @note the result is the total amount of restrictions after the procedure has run */ addRestriction: ProcedureMethod, BigNumber>; /** * Sets all Transfer Restrictions of the corresponding type on this Asset * * @note the result is the total amount of restrictions after the procedure has run */ setRestrictions: ProcedureMethod, BigNumber>; /** * Removes all Transfer Restrictions of the corresponding type from this Asset * * @note the result is the total amount of restrictions after the procedure has run */ removeRestrictions: NoArgsProcedureMethod; /** * Retrieve all active Transfer Restrictions of the corresponding type * * @note there is a maximum number of restrictions allowed across all types. * The `availableSlots` property of the result represents how many more restrictions can be added * before reaching that limit */ get(): Promise>; } export {}; //# sourceMappingURL=TransferRestrictionBase.d.ts.map