//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
//ORIGINAL LINE: virtual ExtractOutputKeysResult extractKeyOutputKeys(ulong amount, Common::ArrayView<uint> globalIndexes, ClassicVector<Crypto::PublicKey>& publicKeys) const = 0;
        public abstract ExtractOutputKeysResult extractKeyOutputKeys(ulong amount, Common.ArrayView <uint> globalIndexes, List <Crypto.PublicKey> publicKeys);
//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
//ORIGINAL LINE: virtual ExtractOutputKeysResult extractKeyOtputReferences(ulong amount, Common::ArrayView<uint> globalIndexes, ClassicVector<System.Tuple<Crypto::Hash, uint>>& outputReferences) const = 0;
        public abstract ExtractOutputKeysResult extractKeyOtputReferences(ulong amount, Common.ArrayView <uint> globalIndexes, List <Tuple <Crypto.Hash, uint> > outputReferences);
        //TODO: get rid of pred in this method. return vector of KeyOutputInfo structures
//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
//ORIGINAL LINE: virtual ExtractOutputKeysResult extractKeyOutputs(ulong amount, uint blockIndex, Common::ArrayView<uint> globalIndexes, System.Func<const CachedTransactionInfo& info, PackedOutIndex index, uint globalIndex, ExtractOutputKeysResult> pred) const = 0;
        public abstract ExtractOutputKeysResult extractKeyOutputs(ulong amount, uint blockIndex, Common.ArrayView <uint> globalIndexes, Func <CachedTransactionInfo info, PackedOutIndex index, uint globalIndex, ExtractOutputKeysResult> pred);
//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
//ORIGINAL LINE: virtual ExtractOutputKeysResult extractKeyOtputIndexes(ulong amount, Common::ArrayView<uint> globalIndexes, ClassicVector<PackedOutIndex>& outIndexes) const = 0;
        public abstract ExtractOutputKeysResult extractKeyOtputIndexes(ulong amount, Common.ArrayView <uint> globalIndexes, List <PackedOutIndex> outIndexes);