import BigNumber from 'bignumber.js';
import { Procedure } from "../../internal";
import { CountTransferRestrictionInput, PercentageTransferRestrictionInput, TransferRestrictionType } from "../../types";
import { ProcedureAuthorization } from "../../types/internal";
export declare type AddCountTransferRestrictionParams = CountTransferRestrictionInput & {
    type: TransferRestrictionType.Count;
};
export declare type AddPercentageTransferRestrictionParams = PercentageTransferRestrictionInput & {
    type: TransferRestrictionType.Percentage;
};
/**
 * @hidden
 */
export declare type AddTransferRestrictionParams = {
    ticker: string;
} & (AddCountTransferRestrictionParams | AddPercentageTransferRestrictionParams);
/**
 * @hidden
 */
export declare function prepareAddTransferRestriction(this: Procedure<AddTransferRestrictionParams, BigNumber>, args: AddTransferRestrictionParams): Promise<BigNumber>;
/**
 * @hidden
 */
export declare function getAuthorization(this: Procedure<AddTransferRestrictionParams, BigNumber>, { ticker, exemptedScopeIds, exemptedIdentities }: AddTransferRestrictionParams): ProcedureAuthorization;
/**
 * @hidden
 */
export declare const addTransferRestriction: () => Procedure<AddTransferRestrictionParams, BigNumber>;
//# sourceMappingURL=addTransferRestriction.d.ts.map