from __future__ import annotations
from win32more._prelude import *
import win32more.Microsoft.UI.Content
import win32more.Microsoft.UI.Input
import win32more.Microsoft.UI.Input.DragDrop
import win32more.Windows.ApplicationModel.DataTransfer
import win32more.Windows.Foundation
import win32more.Windows.Graphics.Imaging
class DragDropManager(ComPtr):
    extends: IInspectable
    implements: Tuple[ContextManagerProtocol]
    default_interface: win32more.Microsoft.UI.Input.DragDrop.IDragDropManager
    _classid_ = 'Microsoft.UI.Input.DragDrop.DragDropManager'
    @winrt_mixinmethod
    def add_TargetRequested(self: win32more.Microsoft.UI.Input.DragDrop.IDragDropManager, handler: win32more.Windows.Foundation.TypedEventHandler[win32more.Microsoft.UI.Input.DragDrop.DragDropManager, win32more.Microsoft.UI.Input.DragDrop.DropOperationTargetRequestedEventArgs]) -> win32more.Windows.Foundation.EventRegistrationToken: ...
    @winrt_mixinmethod
    def put_AreConcurrentOperationsEnabled(self: win32more.Microsoft.UI.Input.DragDrop.IDragDropManager, value: Boolean) -> Void: ...
    @winrt_mixinmethod
    def Close(self: win32more.Windows.Foundation.IClosable) -> Void: ...
    @winrt_mixinmethod
    def remove_TargetRequested(self: win32more.Microsoft.UI.Input.DragDrop.IDragDropManager, token: win32more.Windows.Foundation.EventRegistrationToken) -> Void: ...
    @winrt_mixinmethod
    def get_AreConcurrentOperationsEnabled(self: win32more.Microsoft.UI.Input.DragDrop.IDragDropManager) -> Boolean: ...
    @winrt_classmethod
    def GetForIsland(cls: win32more.Microsoft.UI.Input.DragDrop.IDragDropManagerStatics, content: win32more.Microsoft.UI.Content.ContentIsland) -> win32more.Microsoft.UI.Input.DragDrop.DragDropManager: ...
    AreConcurrentOperationsEnabled = property(get_AreConcurrentOperationsEnabled, put_AreConcurrentOperationsEnabled)
    TargetRequested = event(add_TargetRequested, remove_TargetRequested)
class DragDropModifiers(Enum, UInt32):
    None_ = 0
    Shift = 1
    Control = 2
    Alt = 4
    LeftButton = 8
    MiddleButton = 16
    RightButton = 32
class DragInfo(ComPtr):
    extends: IInspectable
    default_interface: win32more.Microsoft.UI.Input.DragDrop.IDragInfo
    _classid_ = 'Microsoft.UI.Input.DragDrop.DragInfo'
    @winrt_mixinmethod
    def get_Position(self: win32more.Microsoft.UI.Input.DragDrop.IDragInfo) -> win32more.Windows.Foundation.Point: ...
    @winrt_mixinmethod
    def get_Data(self: win32more.Microsoft.UI.Input.DragDrop.IDragInfo) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageView: ...
    @winrt_mixinmethod
    def get_Modifiers(self: win32more.Microsoft.UI.Input.DragDrop.IDragInfo) -> win32more.Microsoft.UI.Input.DragDrop.DragDropModifiers: ...
    @winrt_mixinmethod
    def get_AllowedOperations(self: win32more.Microsoft.UI.Input.DragDrop.IDragInfo) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation: ...
    AllowedOperations = property(get_AllowedOperations, None)
    Data = property(get_Data, None)
    Modifiers = property(get_Modifiers, None)
    Position = property(get_Position, None)
class DragOperation(ComPtr):
    extends: IInspectable
    implements: Tuple[ContextManagerProtocol]
    default_interface: win32more.Microsoft.UI.Input.DragDrop.IDragOperation
    _classid_ = 'Microsoft.UI.Input.DragDrop.DragOperation'
    def __init__(self, *args, **kwargs):
        if kwargs:
            super().__init__(**kwargs)
        elif len(args) == 0:
            super().__init__(move=win32more.Microsoft.UI.Input.DragDrop.DragOperation.CreateInstance(*args))
        else:
            raise ValueError('no matched constructor')
    @winrt_activatemethod
    def CreateInstance(cls) -> win32more.Microsoft.UI.Input.DragDrop.DragOperation: ...
    @winrt_mixinmethod
    def SetDragUIContentFromSoftwareBitmap(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap) -> Void: ...
    @winrt_mixinmethod
    def put_AllowedOperations(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation, value: win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation) -> Void: ...
    @winrt_mixinmethod
    def get_AllowedOperations(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation: ...
    @winrt_mixinmethod
    def get_DragUIContentMode(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation) -> win32more.Microsoft.UI.Input.DragDrop.DragUIContentMode: ...
    @winrt_mixinmethod
    def put_DragUIContentMode(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation, value: win32more.Microsoft.UI.Input.DragDrop.DragUIContentMode) -> Void: ...
    @winrt_mixinmethod
    def get_Data(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackage: ...
    @winrt_mixinmethod
    def SetDragUIContentFromSoftwareBitmap2(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap, anchorPoint: win32more.Windows.Foundation.Point) -> Void: ...
    @winrt_mixinmethod
    def StartAsync(self: win32more.Microsoft.UI.Input.DragDrop.IDragOperation, initialTarget: win32more.Microsoft.UI.Input.DragDrop.DragDropManager, initialPointerPoint: win32more.Microsoft.UI.Input.PointerPoint) -> win32more.Windows.Foundation.IAsyncOperation[win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation]: ...
    @winrt_mixinmethod
    def Close(self: win32more.Windows.Foundation.IClosable) -> Void: ...
    AllowedOperations = property(get_AllowedOperations, put_AllowedOperations)
    Data = property(get_Data, None)
    DragUIContentMode = property(get_DragUIContentMode, put_DragUIContentMode)
class DragUIContentMode(Enum, Int32):
    Auto = 0
    Deferred = 1
class DragUIOverride(ComPtr):
    extends: IInspectable
    default_interface: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride
    _classid_ = 'Microsoft.UI.Input.DragDrop.DragUIOverride'
    @winrt_mixinmethod
    def put_IsGlyphVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, value: Boolean) -> Void: ...
    @winrt_mixinmethod
    def put_Caption(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, value: hstr) -> Void: ...
    @winrt_mixinmethod
    def get_IsCaptionVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride) -> Boolean: ...
    @winrt_mixinmethod
    def put_IsCaptionVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, value: Boolean) -> Void: ...
    @winrt_mixinmethod
    def get_IsContentVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride) -> Boolean: ...
    @winrt_mixinmethod
    def put_IsContentVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, value: Boolean) -> Void: ...
    @winrt_mixinmethod
    def get_IsGlyphVisible(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride) -> Boolean: ...
    @winrt_mixinmethod
    def get_Caption(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride) -> hstr: ...
    @winrt_mixinmethod
    def Clear(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride) -> Void: ...
    @winrt_mixinmethod
    def SetContentFromSoftwareBitmap(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap) -> Void: ...
    @winrt_mixinmethod
    def SetContentFromSoftwareBitmap2(self: win32more.Microsoft.UI.Input.DragDrop.IDragUIOverride, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap, anchorPoint: win32more.Windows.Foundation.Point) -> Void: ...
    Caption = property(get_Caption, put_Caption)
    IsCaptionVisible = property(get_IsCaptionVisible, put_IsCaptionVisible)
    IsContentVisible = property(get_IsContentVisible, put_IsContentVisible)
    IsGlyphVisible = property(get_IsGlyphVisible, put_IsGlyphVisible)
class DropOperationTargetRequestedEventArgs(ComPtr):
    extends: IInspectable
    default_interface: win32more.Microsoft.UI.Input.DragDrop.IDropOperationTargetRequestedEventArgs
    _classid_ = 'Microsoft.UI.Input.DragDrop.DropOperationTargetRequestedEventArgs'
    @winrt_mixinmethod
    def SetTarget(self: win32more.Microsoft.UI.Input.DragDrop.IDropOperationTargetRequestedEventArgs, target: win32more.Microsoft.UI.Input.DragDrop.IDropOperationTarget) -> Void: ...
class IDragDropManager(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDragDropManager'
    _iid_ = Guid('{4fea9efc-b073-5fbe-9c95-a4113ef6393f}')
    @winrt_commethod(6)
    def get_AreConcurrentOperationsEnabled(self) -> Boolean: ...
    @winrt_commethod(7)
    def put_AreConcurrentOperationsEnabled(self, value: Boolean) -> Void: ...
    @winrt_commethod(8)
    def add_TargetRequested(self, handler: win32more.Windows.Foundation.TypedEventHandler[win32more.Microsoft.UI.Input.DragDrop.DragDropManager, win32more.Microsoft.UI.Input.DragDrop.DropOperationTargetRequestedEventArgs]) -> win32more.Windows.Foundation.EventRegistrationToken: ...
    @winrt_commethod(9)
    def remove_TargetRequested(self, token: win32more.Windows.Foundation.EventRegistrationToken) -> Void: ...
    AreConcurrentOperationsEnabled = property(get_AreConcurrentOperationsEnabled, put_AreConcurrentOperationsEnabled)
    TargetRequested = event(add_TargetRequested, remove_TargetRequested)
class IDragDropManagerStatics(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDragDropManagerStatics'
    _iid_ = Guid('{5587c863-57d7-5d0f-8ea9-e5dcf06a0f83}')
    @winrt_commethod(6)
    def GetForIsland(self, content: win32more.Microsoft.UI.Content.ContentIsland) -> win32more.Microsoft.UI.Input.DragDrop.DragDropManager: ...
class IDragInfo(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDragInfo'
    _iid_ = Guid('{7507d891-62a8-5a79-a880-ac7353d001ec}')
    @winrt_commethod(6)
    def get_AllowedOperations(self) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation: ...
    @winrt_commethod(7)
    def get_Data(self) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageView: ...
    @winrt_commethod(8)
    def get_Modifiers(self) -> win32more.Microsoft.UI.Input.DragDrop.DragDropModifiers: ...
    @winrt_commethod(9)
    def get_Position(self) -> win32more.Windows.Foundation.Point: ...
    AllowedOperations = property(get_AllowedOperations, None)
    Data = property(get_Data, None)
    Modifiers = property(get_Modifiers, None)
    Position = property(get_Position, None)
class IDragOperation(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDragOperation'
    _iid_ = Guid('{ef122288-7984-53d3-8488-133dcd3de793}')
    @winrt_commethod(6)
    def get_AllowedOperations(self) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation: ...
    @winrt_commethod(7)
    def put_AllowedOperations(self, value: win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation) -> Void: ...
    @winrt_commethod(8)
    def get_Data(self) -> win32more.Windows.ApplicationModel.DataTransfer.DataPackage: ...
    @winrt_commethod(9)
    def get_DragUIContentMode(self) -> win32more.Microsoft.UI.Input.DragDrop.DragUIContentMode: ...
    @winrt_commethod(10)
    def put_DragUIContentMode(self, value: win32more.Microsoft.UI.Input.DragDrop.DragUIContentMode) -> Void: ...
    @winrt_commethod(11)
    def SetDragUIContentFromSoftwareBitmap(self, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap) -> Void: ...
    @winrt_commethod(12)
    def SetDragUIContentFromSoftwareBitmap2(self, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap, anchorPoint: win32more.Windows.Foundation.Point) -> Void: ...
    @winrt_commethod(13)
    def StartAsync(self, initialTarget: win32more.Microsoft.UI.Input.DragDrop.DragDropManager, initialPointerPoint: win32more.Microsoft.UI.Input.PointerPoint) -> win32more.Windows.Foundation.IAsyncOperation[win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation]: ...
    AllowedOperations = property(get_AllowedOperations, put_AllowedOperations)
    Data = property(get_Data, None)
    DragUIContentMode = property(get_DragUIContentMode, put_DragUIContentMode)
class IDragUIOverride(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDragUIOverride'
    _iid_ = Guid('{8432fbac-a17f-5a95-8f56-fb432280b54d}')
    @winrt_commethod(6)
    def get_Caption(self) -> hstr: ...
    @winrt_commethod(7)
    def put_Caption(self, value: hstr) -> Void: ...
    @winrt_commethod(8)
    def get_IsCaptionVisible(self) -> Boolean: ...
    @winrt_commethod(9)
    def put_IsCaptionVisible(self, value: Boolean) -> Void: ...
    @winrt_commethod(10)
    def get_IsContentVisible(self) -> Boolean: ...
    @winrt_commethod(11)
    def put_IsContentVisible(self, value: Boolean) -> Void: ...
    @winrt_commethod(12)
    def get_IsGlyphVisible(self) -> Boolean: ...
    @winrt_commethod(13)
    def put_IsGlyphVisible(self, value: Boolean) -> Void: ...
    @winrt_commethod(14)
    def Clear(self) -> Void: ...
    @winrt_commethod(15)
    def SetContentFromSoftwareBitmap(self, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap) -> Void: ...
    @winrt_commethod(16)
    def SetContentFromSoftwareBitmap2(self, bitmap: win32more.Windows.Graphics.Imaging.SoftwareBitmap, anchorPoint: win32more.Windows.Foundation.Point) -> Void: ...
    Caption = property(get_Caption, put_Caption)
    IsCaptionVisible = property(get_IsCaptionVisible, put_IsCaptionVisible)
    IsContentVisible = property(get_IsContentVisible, put_IsContentVisible)
    IsGlyphVisible = property(get_IsGlyphVisible, put_IsGlyphVisible)
class IDropOperationTarget(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDropOperationTarget'
    _iid_ = Guid('{1c2707d9-0065-53c7-bbfb-50850378caf3}')
    @winrt_commethod(6)
    def DropAsync(self, dragInfo: win32more.Microsoft.UI.Input.DragDrop.DragInfo) -> win32more.Windows.Foundation.IAsyncOperation[win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation]: ...
    @winrt_commethod(7)
    def EnterAsync(self, dragInfo: win32more.Microsoft.UI.Input.DragDrop.DragInfo, dragUIOverride: win32more.Microsoft.UI.Input.DragDrop.DragUIOverride) -> win32more.Windows.Foundation.IAsyncOperation[win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation]: ...
    @winrt_commethod(8)
    def LeaveAsync(self, dragInfo: win32more.Microsoft.UI.Input.DragDrop.DragInfo) -> win32more.Windows.Foundation.IAsyncAction: ...
    @winrt_commethod(9)
    def OverAsync(self, dragInfo: win32more.Microsoft.UI.Input.DragDrop.DragInfo, dragUIOverride: win32more.Microsoft.UI.Input.DragDrop.DragUIOverride) -> win32more.Windows.Foundation.IAsyncOperation[win32more.Windows.ApplicationModel.DataTransfer.DataPackageOperation]: ...
class IDropOperationTargetRequestedEventArgs(ComPtr):
    extends: IInspectable
    _classid_ = 'Microsoft.UI.Input.DragDrop.IDropOperationTargetRequestedEventArgs'
    _iid_ = Guid('{f61c5b62-720e-59ff-ad0b-e77fc5b8a4a3}')
    @winrt_commethod(6)
    def SetTarget(self, target: win32more.Microsoft.UI.Input.DragDrop.IDropOperationTarget) -> Void: ...


make_ready(__name__)
