type GrandpaBlockImport<Client> = GrandpaBlockImport<TFullBackend<Block>, Block, Client, LongestChain<TFullBackend<Block>, Block>>;
struct GrandpaBlockImport<Client> {
inner: Arc<Client>,
justification_import_period: u32,
select_chain: LongestChain<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>, Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>,
authority_set: SharedAuthoritySet<H256, u32>,
send_voter_commands: TracingUnboundedSender<VoterCommand<H256, u32>>,
authority_set_hard_forks: HashMap<H256, PendingChange<H256, u32>>,
justification_sender: NotificationSender<GrandpaJustification<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
telemetry: Option<TelemetryHandle>,
_phantom: PhantomData<Backend<Block<Header<u32, BlakeTwo256>, OpaqueExtrinsic>>>,
}
§send_voter_commands: TracingUnboundedSender<VoterCommand<H256, u32>>