using System;
using System.Runtime.InteropServices;
namespace System.ComponentModel.Design
{
/// Provides an interface for managing designer transactions and components.
// Token: 0x02000048 RID: 72
[ComVisible(true)]
public interface IDesignerHost : IServiceContainer, IServiceProvider
{
/// Occurs when this designer is activated.
// Token: 0x14000008 RID: 8
// (add) Token: 0x060002EA RID: 746
// (remove) Token: 0x060002EB RID: 747
event EventHandler Activated;
/// Occurs when this designer is deactivated.
// Token: 0x14000009 RID: 9
// (add) Token: 0x060002EC RID: 748
// (remove) Token: 0x060002ED RID: 749
event EventHandler Deactivated;
/// Occurs when this designer completes loading its document.
// Token: 0x1400000A RID: 10
// (add) Token: 0x060002EE RID: 750
// (remove) Token: 0x060002EF RID: 751
event EventHandler LoadComplete;
/// Adds an event handler for the event.
// Token: 0x1400000B RID: 11
// (add) Token: 0x060002F0 RID: 752
// (remove) Token: 0x060002F1 RID: 753
event DesignerTransactionCloseEventHandler TransactionClosed;
/// Adds an event handler for the event.
// Token: 0x1400000C RID: 12
// (add) Token: 0x060002F2 RID: 754
// (remove) Token: 0x060002F3 RID: 755
event DesignerTransactionCloseEventHandler TransactionClosing;
/// Adds an event handler for the event.
// Token: 0x1400000D RID: 13
// (add) Token: 0x060002F4 RID: 756
// (remove) Token: 0x060002F5 RID: 757
event EventHandler TransactionOpened;
/// Adds an event handler for the event.
// Token: 0x1400000E RID: 14
// (add) Token: 0x060002F6 RID: 758
// (remove) Token: 0x060002F7 RID: 759
event EventHandler TransactionOpening;
/// Gets the container for this designer host.
/// The for this host.
// Token: 0x170000D2 RID: 210
// (get) Token: 0x060002F8 RID: 760
IContainer Container { get; }
/// Gets a value indicating whether the designer host is currently in a transaction.
/// true if a transaction is in progress; otherwise, false.
// Token: 0x170000D3 RID: 211
// (get) Token: 0x060002F9 RID: 761
bool InTransaction { get; }
/// Gets a value indicating whether the designer host is currently loading the document.
/// true if the designer host is currently loading the document; otherwise, false.
// Token: 0x170000D4 RID: 212
// (get) Token: 0x060002FA RID: 762
bool Loading { get; }
/// Gets the instance of the base class used as the root component for the current design.
/// The instance of the root component class.
// Token: 0x170000D5 RID: 213
// (get) Token: 0x060002FB RID: 763
IComponent RootComponent { get; }
/// Gets the fully qualified name of the class being designed.
/// The fully qualified name of the base component class.
// Token: 0x170000D6 RID: 214
// (get) Token: 0x060002FC RID: 764
string RootComponentClassName { get; }
/// Gets the description of the current transaction.
/// A description of the current transaction.
// Token: 0x170000D7 RID: 215
// (get) Token: 0x060002FD RID: 765
string TransactionDescription { get; }
/// Activates the designer that this host is hosting.
// Token: 0x060002FE RID: 766
void Activate();
/// Creates a component of the specified type and adds it to the design document.
/// The newly created component.
/// The type of the component to create.
// Token: 0x060002FF RID: 767
IComponent CreateComponent(Type componentClass);
/// Creates a component of the specified type and name, and adds it to the design document.
/// The newly created component.
/// The type of the component to create.
/// The name for the component.
// Token: 0x06000300 RID: 768
IComponent CreateComponent(Type componentClass, string name);
/// Creates a that can encapsulate event sequences to improve performance and enable undo and redo support functionality.
/// A new instance of . When you complete the steps in your transaction, you should call on this object.
// Token: 0x06000301 RID: 769
DesignerTransaction CreateTransaction();
/// Creates a that can encapsulate event sequences to improve performance and enable undo and redo support functionality, using the specified transaction description.
/// A new . When you have completed the steps in your transaction, you should call on this object.
/// A title or description for the newly created transaction.
// Token: 0x06000302 RID: 770
DesignerTransaction CreateTransaction(string description);
/// Destroys the specified component and removes it from the designer container.
/// The component to destroy.
// Token: 0x06000303 RID: 771
void DestroyComponent(IComponent component);
/// Gets the designer instance that contains the specified component.
/// An , or null if there is no designer for the specified component.
/// The to retrieve the designer for.
// Token: 0x06000304 RID: 772
IDesigner GetDesigner(IComponent component);
/// Gets an instance of the specified, fully qualified type name.
/// The type object for the specified type name, or null if the type cannot be found.
/// The name of the type to load.
// Token: 0x06000305 RID: 773
Type GetType(string typeName);
}
}