using System;
using System.Collections;
using System.Workflow.ComponentModel;
using System.Workflow.Runtime;
using System.Diagnostics;
using System.Transactions;
namespace System.Workflow.Runtime
{
    [Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
    public interface IPendingWork
    {
        /// 
        /// Allows pending work members to assert that they need to commit.  
        /// This is used to eliminate unnecessary commits.
        /// 
        /// Items belonging to this pending work member
        /// true if a Commit is required; false if not
        bool MustCommit(ICollection items);
        /// 
        /// Commmit the work items using the transaction
        /// 
        /// 
        /// 
        void Commit(System.Transactions.Transaction transaction, ICollection items);
        /// 
        /// Perform necesssary cleanup. Called when the scope
        /// has finished processing this batch of work items
        /// 
        /// 
        /// 
        void Complete(bool succeeded, ICollection items);
    }
}