type PolicyRestriction = { schema: string; interface: string; }; type ChainSigTransactionPolicy = { derivation_path: string; chain_environment: "NearWasm" | string; restrictions: PolicyRestriction[]; }; type ChainSigMessagePolicy = { derivation_path: string; sign_method: "NearIntentsSwap" | string; }; type PolicyDetails = { ChainSigTransaction: ChainSigTransactionPolicy; } | { ChainSigMessage: ChainSigMessagePolicy; } | string; type PolicyType = "ChainSigTransaction" | "KernelConfiguration"| "NearVaultAction" | "ChainSigMessage"; export type Policy = { id: string; description: string; required_role: string; required_vote_count: number; policy_type: PolicyType; policy_details: PolicyDetails; activation_time: string; proposal_expiry_time_nanosec: string; required_pending_actions: string[]; };