/** * Feature IDs as defined in https://ledgerhq.atlassian.net/wiki/spaces/CF/pages/6125551933/Coin+modules+-+ADR-003+-+Features+support * These represent the capabilities/features a coin module can support */ export type FeatureId = 'blockchain_txs' | 'staking_txs'; /** * Intent types for blockchain_txs feature */ export type BlockchainTxsIntent = 'send'; /** * Intent types for staking_txs feature */ export type StakingTxsIntent = 'delegate' | 'undelegate' | 'redelegate' | 'claimReward' | 'withdraw'; /** * Mapping from feature ID to its supported intents */ export type FeatureIntentMap = { blockchain_txs: BlockchainTxsIntent; staking_txs: StakingTxsIntent; }; /** * A supported feature declaration in a coin module * Maps feature IDs to their supported intents * Example: { "blockchain_txs": ["send"], "staking_txs": ["delegate", "claimReward"] } */ export type SupportedFeatures = Partial>; /** * Feature status in liveconfig */ export type FeatureStatus = 'active' | 'inactive'; /** * Feature configuration in liveconfig */ export type FeatureConfig = { id: FeatureId; status: FeatureStatus; }; /** * Helper function to check if a feature is supported */ export declare function hasFeature(supportedFeatures: SupportedFeatures, featureId: FeatureId): boolean; /** * Helper function to check if an intent is supported for a feature */ export declare function hasIntent(supportedFeatures: SupportedFeatures, featureId: FeatureId, intent: string): boolean; //# sourceMappingURL=types.d.ts.map