using System;
using System.Runtime.InteropServices;
namespace System.ComponentModel.Design
{
/// Provides an interface to add and remove the event handlers for events that add, change, remove or rename components, and provides methods to raise a or event.
// Token: 0x02000046 RID: 70
[ComVisible(true)]
public interface IComponentChangeService
{
/// Occurs when a component has been added.
// Token: 0x14000001 RID: 1
// (add) Token: 0x060002D6 RID: 726
// (remove) Token: 0x060002D7 RID: 727
event ComponentEventHandler ComponentAdded;
/// Occurs when a component is in the process of being added.
// Token: 0x14000002 RID: 2
// (add) Token: 0x060002D8 RID: 728
// (remove) Token: 0x060002D9 RID: 729
event ComponentEventHandler ComponentAdding;
/// Occurs when a component has been changed.
// Token: 0x14000003 RID: 3
// (add) Token: 0x060002DA RID: 730
// (remove) Token: 0x060002DB RID: 731
event ComponentChangedEventHandler ComponentChanged;
/// Occurs when a component is in the process of being changed.
// Token: 0x14000004 RID: 4
// (add) Token: 0x060002DC RID: 732
// (remove) Token: 0x060002DD RID: 733
event ComponentChangingEventHandler ComponentChanging;
/// Occurs when a component has been removed.
// Token: 0x14000005 RID: 5
// (add) Token: 0x060002DE RID: 734
// (remove) Token: 0x060002DF RID: 735
event ComponentEventHandler ComponentRemoved;
/// Occurs when a component is in the process of being removed.
// Token: 0x14000006 RID: 6
// (add) Token: 0x060002E0 RID: 736
// (remove) Token: 0x060002E1 RID: 737
event ComponentEventHandler ComponentRemoving;
/// Occurs when a component is renamed.
// Token: 0x14000007 RID: 7
// (add) Token: 0x060002E2 RID: 738
// (remove) Token: 0x060002E3 RID: 739
event ComponentRenameEventHandler ComponentRename;
/// Announces to the component change service that a particular component has changed.
/// The component that has changed.
/// The member that has changed. This is null if this change is not related to a single member.
/// The old value of the member. This is valid only if the member is not null.
/// The new value of the member. This is valid only if the member is not null.
// Token: 0x060002E4 RID: 740
void OnComponentChanged(object component, MemberDescriptor member, object oldValue, object newValue);
/// Announces to the component change service that a particular component is changing.
/// The component that is about to change.
/// The member that is changing. This is null if this change is not related to a single member.
// Token: 0x060002E5 RID: 741
void OnComponentChanging(object component, MemberDescriptor member);
}
}