import { BTreeSetStatType } from "../../polkadot/types-lookup.ts";
import BigNumber from 'bignumber.js';
import { TransferCondition } from "../../polkadot/types";
import { Procedure } from "../../internal";
import { CountTransferRestrictionInput, PercentageTransferRestrictionInput, TransferRestrictionType } from "../../types";
import { ProcedureAuthorization } from "../../types/internal";
export interface SetCountTransferRestrictionsParams {
    /**
     * array of Count Transfer Restrictions with their corresponding exemptions (if applicable)
     */
    restrictions: CountTransferRestrictionInput[];
    type: TransferRestrictionType.Count;
}
export interface SetPercentageTransferRestrictionsParams {
    /**
     * array of Percentage Transfer Restrictions with their corresponding exemptions (if applicable)
     */
    restrictions: PercentageTransferRestrictionInput[];
    type: TransferRestrictionType.Percentage;
}
export declare type SetTransferRestrictionsParams = {
    ticker: string;
} & (SetCountTransferRestrictionsParams | SetPercentageTransferRestrictionsParams);
/**
 * @hidden
 */
export interface Storage {
    currentRestrictions: TransferCondition[];
    occupiedSlots: BigNumber;
    needStat: boolean;
    currentStats: BTreeSetStatType;
}
/**
 * @hidden
 */
export declare function prepareSetTransferRestrictions(this: Procedure<SetTransferRestrictionsParams, BigNumber, Storage>, args: SetTransferRestrictionsParams): Promise<BigNumber>;
/**
 * @hidden
 */
export declare function getAuthorization(this: Procedure<SetTransferRestrictionsParams, BigNumber, Storage>, { ticker, restrictions }: SetTransferRestrictionsParams): ProcedureAuthorization;
/**
 * @hidden
 */
export declare function prepareStorage(this: Procedure<SetTransferRestrictionsParams, BigNumber, Storage>, args: SetTransferRestrictionsParams): Promise<Storage>;
/**
 * @hidden
 */
export declare const setTransferRestrictions: () => Procedure<SetTransferRestrictionsParams, BigNumber, Storage>;
//# sourceMappingURL=setTransferRestrictions.d.ts.map