import { bool, Bytes, Text, u8, u32, u64 } from '@polkadot/types';
import { AccountId, Balance, Hash, Moment, Permill, Signature } from '@polkadot/types/interfaces';
import BigNumber from 'bignumber.js';
import { AffirmationStatus as MeshAffirmationStatus, AgentGroup, AssetComplianceResult, AssetIdentifier, AssetName, AssetType, AuthorizationData, AuthorizationType as MeshAuthorizationType, CAId, CAKind, CalendarPeriod as MeshCalendarPeriod, CanTransferResult, CddId, CddStatus, Claim as MeshClaim, ClaimType as MeshClaimType, ComplianceRequirement, ComplianceRequirementResult, CorporateAction as MeshCorporateAction, Distribution, Document, DocumentHash, DocumentName, DocumentType, DocumentUri, EcdsaSignature, ExtrinsicPermissions, FundingRoundName, Fundraiser, FundraiserName, FundraiserTier, GranularCanTransferResult, IdentityId, InstructionStatus as MeshInstructionStatus, InvestorZKProofData, Memo, MovePortfolioItem, Permissions as MeshPermissions, PipId, PortfolioId as MeshPortfolioId, PosRatio, PriceTier, ProtocolOp, RecordDateSpec, RistrettoPoint, Scalar, ScheduleSpec as MeshScheduleSpec, Scope as MeshScope, ScopeClaimProof as MeshScopeClaimProof, ScopeId, SecondaryKey as MeshSecondaryKey, SettlementType, Signatory, StoredSchedule, TargetIdentities, TargetIdentity, Ticker, TransferManager, TrustedIssuer, TxTag, VenueDetails, VenueType as MeshVenueType } from "../polkadot/types";
import { Checkpoint, CheckpointSchedule, Context, CustomPermissionGroup, DefaultPortfolio, Identity, KnownPermissionGroup, NumberedPortfolio } from "../internal";
import { Event as MiddlewareEvent, IdentityWithClaims as MiddlewareIdentityWithClaims, Portfolio as MiddlewarePortfolio, Scope as MiddlewareScope } from "../middleware/types";
import { AffirmationStatus, Authorization, AuthorizationType, CalendarPeriod, CheckpointScheduleParams, Claim, ClaimType, Compliance, CorporateActionKind, CorporateActionParams, CorporateActionTargets, DividendDistributionParams, EventIdentifier, IdentityWithClaims, InputRequirement, InputTrustedClaimIssuer, InstructionType, KnownTokenType, Permissions, PermissionsLike, PortfolioLike, PortfolioMovement, Requirement, RequirementCompliance, Scope, SecondaryKey, Signer, SignerValue, StoDetails, StoTier, Tier, TokenDocument, TokenIdentifier, TransactionPermissions, TransferBreakdown, TransferRestriction, TransferStatus, TrustedClaimIssuer, TxGroup, VenueType } from "../types";
import { CorporateActionIdentifier, ExtrinsicIdentifier, InstructionStatus, InternalTokenType, PermissionGroupIdentifier, PolymeshTx, PortfolioId, ScheduleSpec, ScopeClaimProof } from "../types/internal";
export * from "../generated/utils";
/**
 * Generate a Security Token's DID from a ticker
 */
export declare function tickerToDid(ticker: string): string;
/**
 * @hidden
 */
export declare function stringToAssetName(name: string, context: Context): AssetName;
/**
 * @hidden
 */
export declare function assetNameToString(name: AssetName): string;
/**
 * @hidden
 */
export declare function booleanToBool(value: boolean, context: Context): bool;
/**
 * @hidden
 */
export declare function boolToBoolean(value: bool): boolean;
/**
 * @hidden
 */
export declare function stringToBytes(bytes: string, context: Context): Bytes;
/**
 * @hidden
 */
export declare function bytesToString(bytes: Bytes): string;
/**
 * @hidden
 */
export declare function stringToTicker(ticker: string, context: Context): Ticker;
/**
 * @hidden
 */
export declare function tickerToString(ticker: Ticker): string;
/**
 * @hidden
 */
export declare function stringToInvestorZKProofData(proof: string, context: Context): InvestorZKProofData;
/**
 * @hidden
 */
export declare function dateToMoment(date: Date, context: Context): Moment;
/**
 * @hidden
 */
export declare function momentToDate(moment: Moment): Date;
/**
 * @hidden
 */
export declare function stringToAccountId(accountId: string, context: Context): AccountId;
/**
 * @hidden
 */
export declare function accountIdToString(accountId: AccountId): string;
/**
 * @hidden
 */
export declare function hashToString(hash: Hash): string;
/**
 * @hidden
 */
export declare function stringToHash(hash: string, context: Context): Hash;
/**
 * @hidden
 */
export declare function stringToIdentityId(identityId: string, context: Context): IdentityId;
/**
 * @hidden
 */
export declare function identityIdToString(identityId: IdentityId): string;
/**
 * @hidden
 */
export declare function stringToEcdsaSignature(signature: string, context: Context): EcdsaSignature;
/**
 * @hidden
 */
export declare function signerValueToSignatory(signer: SignerValue, context: Context): Signatory;
/**
 * @hidden
 */
export declare function signatoryToSignerValue(signatory: Signatory): SignerValue;
/**
 * @hidden
 */
export declare function signerToSignerValue(signer: Signer): SignerValue;
/**
 * @hidden
 */
export declare function signerValueToSigner(signerValue: SignerValue, context: Context): Signer;
/**
 * @hidden
 */
export declare function signerToString(signer: string | Signer): string;
/**
 * @hidden
 */
export declare function u64ToBigNumber(value: u64): BigNumber;
/**
 * @hidden
 */
export declare function numberToU64(value: number | BigNumber, context: Context): u64;
/**
 * @hidden
 */
export declare function percentageToPermill(value: number | BigNumber, context: Context): Permill;
/**
 * @hidden
 *
 * @note returns a percentage value ([0, 100])
 */
export declare function permillToBigNumber(value: Permill): BigNumber;
/**
 * @hidden
 */
export declare function meshPortfolioIdToPortfolio(portfolioId: MeshPortfolioId, context: Context): DefaultPortfolio | NumberedPortfolio;
/**
 * @hidden
 */
export declare function portfolioToPortfolioId(portfolio: DefaultPortfolio | NumberedPortfolio): PortfolioId;
/**
 * @hidden
 */
export declare function portfolioLikeToPortfolioId(value: PortfolioLike): PortfolioId;
/**
 * @hidden
 */
export declare function portfolioIdToPortfolio(portfolioId: PortfolioId, context: Context): DefaultPortfolio | NumberedPortfolio;
/**
 * @hidden
 */
export declare function portfolioLikeToPortfolio(value: PortfolioLike, context: Context): DefaultPortfolio | NumberedPortfolio;
/**
 * @hidden
 */
export declare function portfolioIdToMeshPortfolioId(portfolioId: PortfolioId, context: Context): MeshPortfolioId;
/**
 * @hidden
 */
export declare function stringToText(text: string, context: Context): Text;
/**
 * @hidden
 */
export declare function textToString(value: Text): string;
/**
 * Retrieve every Transaction Tag associated to a Transaction Group
 */
export declare function txGroupToTxTags(group: TxGroup): TxTag[];
/**
 * @hidden
 *
 * @note tags that don't belong to any group will be ignored.
 *   The same goes for tags that belong to a group that wasn't completed
 */
export declare function transactionPermissionsToTxGroups(permissions: TransactionPermissions | null): TxGroup[];
/**
 * @hidden
 */
export declare function permissionsToMeshPermissions(permissions: Permissions, context: Context): MeshPermissions;
/**
 * @hidden
 */
export declare function transactionPermissionsToExtrinsicPermissions(transactionPermissions: TransactionPermissions | null, context: Context): ExtrinsicPermissions;
/**
 * @hidden
 */
export declare function extrinsicPermissionsToTransactionPermissions(permissions: ExtrinsicPermissions): TransactionPermissions | null;
/**
 * @hidden
 */
export declare function meshPermissionsToPermissions(permissions: MeshPermissions, context: Context): Permissions;
/**
 * @hidden
 */
export declare function permissionGroupIdentifierToAgentGroup(permissionGroup: PermissionGroupIdentifier, context: Context): AgentGroup;
/**
 * @hidden
 */
export declare function agentGroupToPermissionGroupIdentifier(agentGroup: AgentGroup): PermissionGroupIdentifier;
/**
 * @hidden
 */
export declare function authorizationToAuthorizationData(auth: Authorization, context: Context): AuthorizationData;
/**
 * @hidden
 */
export declare function authorizationTypeToMeshAuthorizationType(authorizationType: AuthorizationType, context: Context): MeshAuthorizationType;
/**
 * @hidden
 */
export declare function authorizationDataToAuthorization(auth: AuthorizationData, context: Context): Authorization;
/**
 * @hidden
 */
export declare function numberToBalance(value: number | BigNumber, context: Context, divisible?: boolean): Balance;
/**
 * @hidden
 */
export declare function balanceToBigNumber(balance: Balance): BigNumber;
/**
 * @hidden
 */
export declare function stringToMemo(value: string, context: Context): Memo;
/**
 * @hidden
 */
export declare function numberToU32(value: number | BigNumber, context: Context): u32;
/**
 * @hidden
 */
export declare function u32ToBigNumber(value: u32): BigNumber;
/**
 * @hidden
 */
export declare function u8ToBigNumber(value: u8): BigNumber;
/**
 * @hidden
 */
export declare function u8ToTransferStatus(status: u8): TransferStatus;
/**
 * @hidden
 */
export declare function internalTokenTypeToAssetType(type: InternalTokenType, context: Context): AssetType;
/**
 * @hidden
 */
export declare function assetTypeToKnownOrId(assetType: AssetType): KnownTokenType | BigNumber;
/**
 * @hidden
 */
export declare function posRatioToBigNumber(postRatio: PosRatio): BigNumber;
/**
 * @hidden
 */
export declare function isIsinValid(isin: string): boolean;
/**
 * @hidden
 *
 * @note CINS and CUSIP use the same validation
 */
export declare function isCusipValid(cusip: string): boolean;
/**
 * @hidden
 */
export declare function isLeiValid(lei: string): boolean;
/**
 * @hidden
 */
export declare function tokenIdentifierToAssetIdentifier(identifier: TokenIdentifier, context: Context): AssetIdentifier;
/**
 * @hidden
 */
export declare function assetIdentifierToTokenIdentifier(identifier: AssetIdentifier): TokenIdentifier;
/**
 * @hidden
 */
export declare function stringToFundingRoundName(roundName: string, context: Context): FundingRoundName;
/**
 * @hidden
 */
export declare function fundingRoundNameToString(roundName: FundingRoundName): string;
/**
 * @hidden
 */
export declare function stringToDocumentName(docName: string, context: Context): DocumentName;
/**
 * @hidden
 */
export declare function documentNameToString(docName: DocumentName): string;
/**
 * @hidden
 */
export declare function stringToDocumentType(docType: string, context: Context): DocumentType;
/**
 * @hidden
 */
export declare function documentTypeToString(docType: DocumentType): string;
/**
 * @hidden
 */
export declare function stringToDocumentUri(docUri: string, context: Context): DocumentUri;
/**
 * @hidden
 */
export declare function documentUriToString(docUri: DocumentUri): string;
/**
 * @hidden
 */
export declare function stringToDocumentHash(docHash: string | undefined, context: Context): DocumentHash;
/**
 * @hidden
 */
export declare function documentHashToString(docHash: DocumentHash): string | undefined;
/**
 * @hidden
 */
export declare function tokenDocumentToDocument({ uri, contentHash, name, filedAt, type }: TokenDocument, context: Context): Document;
/**
 * @hidden
 */
export declare function documentToTokenDocument({ uri, content_hash: hash, name, doc_type: docType, filing_date: filingDate }: Document): TokenDocument;
/**
 * @hidden
 */
export declare function cddStatusToBoolean(cddStatus: CddStatus): boolean;
/**
 * @hidden
 */
export declare function canTransferResultToTransferStatus(canTransferResult: CanTransferResult): TransferStatus;
/**
 * @hidden
 */
export declare function scopeToMeshScope(scope: Scope, context: Context): MeshScope;
/**
 * @hidden
 */
export declare function meshScopeToScope(scope: MeshScope): Scope;
/**
 * @hidden
 */
export declare function stringToCddId(cddId: string, context: Context): CddId;
/**
 * @hidden
 */
export declare function cddIdToString(cddId: CddId): string;
/**
 * @hidden
 */
export declare function stringToScopeId(scopeId: string, context: Context): ScopeId;
/**
 * @hidden
 */
export declare function scopeIdToString(scopeId: ScopeId): string;
/**
 * @hidden
 */
export declare function claimToMeshClaim(claim: Claim, context: Context): MeshClaim;
/**
 * @hidden
 */
export declare function middlewareScopeToScope(scope: MiddlewareScope): Scope;
/**
 * @hidden
 */
export declare function scopeToMiddlewareScope(scope: Scope): MiddlewareScope;
/**
 * @hidden
 */
export declare function middlewareEventToEventIdentifier(event: MiddlewareEvent): EventIdentifier;
/**
 * @hidden
 */
export declare function meshClaimToClaim(claim: MeshClaim): Claim;
/**
 * @hidden
 */
export declare function stringToTargetIdentity(did: string | null, context: Context): TargetIdentity;
/**
 * @hidden
 */
export declare function meshClaimTypeToClaimType(claimType: MeshClaimType): ClaimType;
/**
 * @hidden
 */
export declare function trustedIssuerToTrustedClaimIssuer(trustedIssuer: TrustedIssuer, context: Context): TrustedClaimIssuer;
/**
 * @hidden
 */
export declare function trustedClaimIssuerToTrustedIssuer(issuer: InputTrustedClaimIssuer, context: Context): TrustedIssuer;
/**
 * @hidden
 */
export declare function requirementToComplianceRequirement(requirement: InputRequirement, context: Context): ComplianceRequirement;
/**
 * @hidden
 */
export declare function complianceRequirementResultToRequirementCompliance(complianceRequirement: ComplianceRequirementResult, context: Context): RequirementCompliance;
/**
 * @hidden
 */
export declare function complianceRequirementToRequirement(complianceRequirement: ComplianceRequirement, context: Context): Requirement;
/**
 * @hidden
 */
export declare function txTagToProtocolOp(tag: TxTag, context: Context): ProtocolOp;
/**
 * @hidden
 */
export declare function txTagToExtrinsicIdentifier(tag: TxTag): ExtrinsicIdentifier;
/**
 * @hidden
 */
export declare function extrinsicIdentifierToTxTag(extrinsicIdentifier: ExtrinsicIdentifier): TxTag;
/**
 * @hidden
 */
export declare function numberToPipId(id: number | BigNumber, context: Context): PipId;
/**
 * @hidden
 */
export declare function assetComplianceResultToCompliance(assetComplianceResult: AssetComplianceResult, context: Context): Compliance;
/**
 * @hidden
 */
export declare function moduleAddressToString(moduleAddress: string, context: Context): string;
/**
 * @hidden
 */
export declare function keyToAddress(key: string, context: Context): string;
/**
 * @hidden
 */
export declare function addressToKey(address: string, context: Context): string;
/**
 * @hidden
 */
export declare function transactionHexToTxTag(bytes: string, context: Context): TxTag;
/**
 * @hidden
 */
export declare function transactionToTxTag<Args extends unknown[]>(tx: PolymeshTx<Args>): TxTag;
/**
 * @hidden
 */
export declare function secondaryKeyToMeshSecondaryKey(secondaryKey: SecondaryKey, context: Context): MeshSecondaryKey;
/**
 * @hidden
 */
export declare function meshVenueTypeToVenueType(type: MeshVenueType): VenueType;
/**
 * @hidden
 */
export declare function venueTypeToMeshVenueType(type: VenueType, context: Context): MeshVenueType;
/**
 * @hidden
 */
export declare function stringToVenueDetails(details: string, context: Context): VenueDetails;
/**
 * @hidden
 */
export declare function venueDetailsToString(details: VenueDetails): string;
/**
 * @hidden
 */
export declare function meshInstructionStatusToInstructionStatus(status: MeshInstructionStatus): InstructionStatus;
/**
 * @hidden
 */
export declare function meshAffirmationStatusToAffirmationStatus(status: MeshAffirmationStatus): AffirmationStatus;
/**
 * @hidden
 */
export declare function endConditionToSettlementType(endCondition: {
    type: InstructionType.SettleOnAffirmation;
} | {
    type: InstructionType;
    value: BigNumber;
}, context: Context): SettlementType;
/**
 * @hidden
 */
export declare function toIdentityWithClaimsArray(data: MiddlewareIdentityWithClaims[], context: Context): IdentityWithClaims[];
/**
 * @hidden
 */
export declare function portfolioMovementToMovePortfolioItem(portfolioItem: PortfolioMovement, context: Context): MovePortfolioItem;
/**
 * @hidden
 */
export declare function claimTypeToMeshClaimType(claimType: ClaimType, context: Context): MeshClaimType;
/**
 * @hidden
 */
export declare function transferRestrictionToTransferManager(restriction: TransferRestriction, context: Context): TransferManager;
/**
 * @hidden
 */
export declare function transferManagerToTransferRestriction(transferManager: TransferManager): TransferRestriction;
/**
 * @hidden
 */
export declare function granularCanTransferResultToTransferBreakdown(result: GranularCanTransferResult, context: Context): TransferBreakdown;
/**
 * @hidden
 */
export declare function stoTierToPriceTier(tier: StoTier, context: Context): PriceTier;
/**
 * @hidden
 */
export declare function permissionsLikeToPermissions(permissionsLike: PermissionsLike, context: Context): Permissions;
/**
 * @hidden
 */
export declare function middlewarePortfolioToPortfolio(portfolio: MiddlewarePortfolio, context: Context): DefaultPortfolio | NumberedPortfolio;
/**
 * @hidden
 */
export declare function fundraiserTierToTier(fundraiserTier: FundraiserTier): Tier;
/**
 * @hidden
 */
export declare function fundraiserToStoDetails(fundraiser: Fundraiser, name: FundraiserName, context: Context): StoDetails;
/**
 * @hidden
 */
export declare function calendarPeriodToMeshCalendarPeriod(period: CalendarPeriod, context: Context): MeshCalendarPeriod;
/**
 * @hidden
 */
export declare function meshCalendarPeriodToCalendarPeriod(period: MeshCalendarPeriod): CalendarPeriod;
/**
 * @hidden
 */
export declare function scheduleSpecToMeshScheduleSpec(details: ScheduleSpec, context: Context): MeshScheduleSpec;
/**
 * @hidden
 */
export declare function storedScheduleToCheckpointScheduleParams(storedSchedule: StoredSchedule): CheckpointScheduleParams;
/**
 * @hidden
 */
export declare function stringToSignature(signature: string, context: Context): Signature;
/**
 * @hidden
 */
export declare function meshCorporateActionToCorporateActionParams(corporateAction: MeshCorporateAction, details: Text, context: Context): CorporateActionParams;
/**
 * @hidden
 */
export declare function stringToRistrettoPoint(ristrettoPoint: string, context: Context): RistrettoPoint;
/**
 * @hidden
 */
export declare function corporateActionKindToCaKind(kind: CorporateActionKind, context: Context): CAKind;
/**
 * @hidden
 */
export declare function stringToScalar(scalar: string, context: Context): Scalar;
/**
 * @hidden
 */
export declare function checkpointToRecordDateSpec(checkpoint: Checkpoint | Date | CheckpointSchedule, context: Context): RecordDateSpec;
/**
 * @hidden
 */
export declare function scopeClaimProofToMeshScopeClaimProof(proof: ScopeClaimProof, scopeId: string, context: Context): MeshScopeClaimProof;
/**
 * @hidden
 */
export declare function targetIdentitiesToCorporateActionTargets(targetIdentities: TargetIdentities, context: Context): CorporateActionTargets;
/**
 * @hidden
 */
export declare function targetsToTargetIdentities(targets: Omit<CorporateActionTargets, 'identities'> & {
    identities: (string | Identity)[];
}, context: Context): TargetIdentities;
/**
 * @hidden
 */
export declare function distributionToDividendDistributionParams(distribution: Distribution, context: Context): DividendDistributionParams;
/**
 * @hidden
 */
export declare function corporateActionIdentifierToCaId(corporateActionIdentifier: CorporateActionIdentifier, context: Context): CAId;
/**
 * @hidden
 */
export declare function agentGroupToPermissionGroup(agentGroup: AgentGroup, ticker: string, context: Context): KnownPermissionGroup | CustomPermissionGroup;
//# sourceMappingURL=conversion.d.ts.map