# WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.7

import enum
import datetime
import sys
import types
import typing

import winsdk._winrt as _winrt
import winsdk.windows.devices.enumeration
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.graphics.directx.direct3d11
import winsdk.windows.graphics.imaging
import winsdk.windows.media
import winsdk.windows.media.capture.core
import winsdk.windows.media.capture.frames
import winsdk.windows.media.core
import winsdk.windows.media.devices
import winsdk.windows.media.effects
import winsdk.windows.media.mediaproperties
import winsdk.windows.security.authentication.web
import winsdk.windows.security.credentials
import winsdk.windows.storage
import winsdk.windows.storage.streams
import winsdk.windows.system
import winsdk.windows.ui.windowmanagement

class AppBroadcastCameraCaptureState(enum.IntEnum):
    STOPPED = 0
    STARTED = 1
    FAILED = 2

class AppBroadcastCameraOverlayLocation(enum.IntEnum):
    TOP_LEFT = 0
    TOP_CENTER = 1
    TOP_RIGHT = 2
    MIDDLE_LEFT = 3
    MIDDLE_CENTER = 4
    MIDDLE_RIGHT = 5
    BOTTOM_LEFT = 6
    BOTTOM_CENTER = 7
    BOTTOM_RIGHT = 8

class AppBroadcastCameraOverlaySize(enum.IntEnum):
    SMALL = 0
    MEDIUM = 1
    LARGE = 2

class AppBroadcastCaptureTargetType(enum.IntEnum):
    APP_VIEW = 0
    ENTIRE_DISPLAY = 1

class AppBroadcastExitBroadcastModeReason(enum.IntEnum):
    NORMAL_EXIT = 0
    USER_CANCELED = 1
    AUTHORIZATION_FAIL = 2
    FOREGROUND_APP_ACTIVATED = 3

class AppBroadcastMicrophoneCaptureState(enum.IntEnum):
    STOPPED = 0
    STARTED = 1
    FAILED = 2

class AppBroadcastPlugInState(enum.IntEnum):
    UNKNOWN = 0
    INITIALIZED = 1
    MICROSOFT_SIGN_IN_REQUIRED = 2
    O_AUTH_SIGN_IN_REQUIRED = 3
    PROVIDER_SIGN_IN_REQUIRED = 4
    IN_BANDWIDTH_TEST = 5
    READY_TO_BROADCAST = 6

class AppBroadcastPreviewState(enum.IntEnum):
    STARTED = 0
    STOPPED = 1
    FAILED = 2

class AppBroadcastSignInResult(enum.IntEnum):
    SUCCESS = 0
    AUTHENTICATION_FAILED = 1
    UNAUTHORIZED = 2
    SERVICE_UNAVAILABLE = 3
    UNKNOWN = 4

class AppBroadcastSignInState(enum.IntEnum):
    NOT_SIGNED_IN = 0
    MICROSOFT_SIGN_IN_IN_PROGRESS = 1
    MICROSOFT_SIGN_IN_COMPLETE = 2
    O_AUTH_SIGN_IN_IN_PROGRESS = 3
    O_AUTH_SIGN_IN_COMPLETE = 4

class AppBroadcastStreamState(enum.IntEnum):
    INITIALIZING = 0
    STREAM_READY = 1
    STARTED = 2
    PAUSED = 3
    TERMINATED = 4

class AppBroadcastTerminationReason(enum.IntEnum):
    NORMAL_TERMINATION = 0
    LOST_CONNECTION_TO_SERVICE = 1
    NO_NETWORK_CONNECTIVITY = 2
    SERVICE_ABORT = 3
    SERVICE_ERROR = 4
    SERVICE_UNAVAILABLE = 5
    INTERNAL_ERROR = 6
    UNSUPPORTED_FORMAT = 7
    BACKGROUND_TASK_TERMINATED = 8
    BACKGROUND_TASK_UNRESPONSIVE = 9

class AppBroadcastVideoEncodingBitrateMode(enum.IntEnum):
    CUSTOM = 0
    AUTO = 1

class AppBroadcastVideoEncodingResolutionMode(enum.IntEnum):
    CUSTOM = 0
    AUTO = 1

class AppCaptureHistoricalBufferLengthUnit(enum.IntEnum):
    MEGABYTES = 0
    SECONDS = 1

class AppCaptureMetadataPriority(enum.IntEnum):
    INFORMATIONAL = 0
    IMPORTANT = 1

class AppCaptureMicrophoneCaptureState(enum.IntEnum):
    STOPPED = 0
    STARTED = 1
    FAILED = 2

class AppCaptureRecordingState(enum.IntEnum):
    IN_PROGRESS = 0
    COMPLETED = 1
    FAILED = 2

class AppCaptureVideoEncodingBitrateMode(enum.IntEnum):
    CUSTOM = 0
    HIGH = 1
    STANDARD = 2

class AppCaptureVideoEncodingFrameRateMode(enum.IntEnum):
    STANDARD = 0
    HIGH = 1

class AppCaptureVideoEncodingResolutionMode(enum.IntEnum):
    CUSTOM = 0
    HIGH = 1
    STANDARD = 2

class CameraCaptureUIMaxPhotoResolution(enum.IntEnum):
    HIGHEST_AVAILABLE = 0
    VERY_SMALL_QVGA = 1
    SMALL_VGA = 2
    MEDIUM_XGA = 3
    LARGE3_M = 4
    VERY_LARGE5_M = 5

class CameraCaptureUIMaxVideoResolution(enum.IntEnum):
    HIGHEST_AVAILABLE = 0
    LOW_DEFINITION = 1
    STANDARD_DEFINITION = 2
    HIGH_DEFINITION = 3

class CameraCaptureUIMode(enum.IntEnum):
    PHOTO_OR_VIDEO = 0
    PHOTO = 1
    VIDEO = 2

class CameraCaptureUIPhotoFormat(enum.IntEnum):
    JPEG = 0
    PNG = 1
    JPEG_X_R = 2

class CameraCaptureUIVideoFormat(enum.IntEnum):
    MP4 = 0
    WMV = 1

class ForegroundActivationArgument(enum.IntEnum):
    SIGN_IN_REQUIRED = 0
    MORE_SETTINGS = 1

class GameBarCommand(enum.IntEnum):
    OPEN_GAME_BAR = 0
    RECORD_HISTORICAL_BUFFER = 1
    TOGGLE_START_STOP_RECORD = 2
    START_RECORD = 3
    STOP_RECORD = 4
    TAKE_SCREENSHOT = 5
    START_BROADCAST = 6
    STOP_BROADCAST = 7
    PAUSE_BROADCAST = 8
    RESUME_BROADCAST = 9
    TOGGLE_START_STOP_BROADCAST = 10
    TOGGLE_MICROPHONE_CAPTURE = 11
    TOGGLE_CAMERA_CAPTURE = 12
    TOGGLE_RECORDING_INDICATOR = 13

class GameBarCommandOrigin(enum.IntEnum):
    SHORTCUT_KEY = 0
    CORTANA = 1
    APP_COMMAND = 2

class GameBarServicesDisplayMode(enum.IntEnum):
    WINDOWED = 0
    FULL_SCREEN_EXCLUSIVE = 1

class GameBarTargetCapturePolicy(enum.IntEnum):
    ENABLED_BY_SYSTEM = 0
    ENABLED_BY_USER = 1
    NOT_ENABLED = 2
    PROHIBITED_BY_SYSTEM = 3
    PROHIBITED_BY_PUBLISHER = 4

class KnownVideoProfile(enum.IntEnum):
    VIDEO_RECORDING = 0
    HIGH_QUALITY_PHOTO = 1
    BALANCED_VIDEO_AND_PHOTO = 2
    VIDEO_CONFERENCING = 3
    PHOTO_SEQUENCE = 4
    HIGH_FRAME_RATE = 5
    VARIABLE_PHOTO_SEQUENCE = 6
    HDR_WITH_WCG_VIDEO = 7
    HDR_WITH_WCG_PHOTO = 8
    VIDEO_HDR8 = 9
    COMPRESSED_CAMERA = 10

class MediaCaptureDeviceExclusiveControlReleaseMode(enum.IntEnum):
    ON_DISPOSE = 0
    ON_ALL_STREAMS_STOPPED = 1

class MediaCaptureDeviceExclusiveControlStatus(enum.IntEnum):
    EXCLUSIVE_CONTROL_AVAILABLE = 0
    SHARED_READ_ONLY_AVAILABLE = 1

class MediaCaptureMemoryPreference(enum.IntEnum):
    AUTO = 0
    CPU = 1

class MediaCaptureSharingMode(enum.IntEnum):
    EXCLUSIVE_CONTROL = 0
    SHARED_READ_ONLY = 1

class MediaCaptureThermalStatus(enum.IntEnum):
    NORMAL = 0
    OVERHEATED = 1

class MediaCategory(enum.IntEnum):
    OTHER = 0
    COMMUNICATIONS = 1
    MEDIA = 2
    GAME_CHAT = 3
    SPEECH = 4
    FAR_FIELD_SPEECH = 5
    UNIFORM_SPEECH = 6
    VOICE_TYPING = 7

class MediaStreamType(enum.IntEnum):
    VIDEO_PREVIEW = 0
    VIDEO_RECORD = 1
    AUDIO = 2
    PHOTO = 3
    METADATA = 4

class PhotoCaptureSource(enum.IntEnum):
    AUTO = 0
    VIDEO_PREVIEW = 1
    PHOTO = 2

class PowerlineFrequency(enum.IntEnum):
    DISABLED = 0
    FIFTY_HERTZ = 1
    SIXTY_HERTZ = 2
    AUTO = 3

class StreamingCaptureMode(enum.IntEnum):
    AUDIO_AND_VIDEO = 0
    AUDIO = 1
    VIDEO = 2

class VideoDeviceCharacteristic(enum.IntEnum):
    ALL_STREAMS_INDEPENDENT = 0
    PREVIEW_RECORD_STREAMS_IDENTICAL = 1
    PREVIEW_PHOTO_STREAMS_IDENTICAL = 2
    RECORD_PHOTO_STREAMS_IDENTICAL = 3
    ALL_STREAMS_IDENTICAL = 4

class VideoRotation(enum.IntEnum):
    NONE = 0
    CLOCKWISE90_DEGREES = 1
    CLOCKWISE180_DEGREES = 2
    CLOCKWISE270_DEGREES = 3

Self = typing.TypeVar('Self')

class WhiteBalanceGain:
    r: _winrt.Double
    g: _winrt.Double
    b: _winrt.Double
    def __new__(cls: typing.Type[WhiteBalanceGain], r: _winrt.Double, g: _winrt.Double, b: _winrt.Double) -> WhiteBalanceGain: ...

class AdvancedCapturedPhoto(_winrt.Object):
    context: typing.Optional[_winrt.Object]
    frame: typing.Optional[CapturedFrame]
    mode: winsdk.windows.media.devices.AdvancedPhotoMode
    frame_bounds_relative_to_reference_photo: typing.Optional[typing.Optional[winsdk.windows.foundation.Rect]]
    @staticmethod
    def _from(obj: _winrt.Object) -> AdvancedCapturedPhoto: ...

class AdvancedPhotoCapture(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> AdvancedPhotoCapture: ...
    @typing.overload
    def capture_async(self) -> winsdk.windows.foundation.IAsyncOperation[AdvancedCapturedPhoto]: ...
    @typing.overload
    def capture_async(self, context: typing.Optional[_winrt.Object]) -> winsdk.windows.foundation.IAsyncOperation[AdvancedCapturedPhoto]: ...
    def finish_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def add_all_photos_captured(self, handler: winsdk.windows.foundation.TypedEventHandler[AdvancedPhotoCapture, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_all_photos_captured(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_optional_reference_photo_captured(self, handler: winsdk.windows.foundation.TypedEventHandler[AdvancedPhotoCapture, OptionalReferencePhotoCapturedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_optional_reference_photo_captured(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastBackgroundService(_winrt.Object):
    viewer_count: _winrt.UInt32
    stream_info: typing.Optional[AppBroadcastBackgroundServiceStreamInfo]
    sign_in_info: typing.Optional[AppBroadcastBackgroundServiceSignInInfo]
    plug_in_state: AppBroadcastPlugInState
    broadcast_title: str
    app_id: str
    title_id: str
    broadcast_language: str
    broadcast_channel: str
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastBackgroundService: ...
    def terminate_broadcast(self, reason: AppBroadcastTerminationReason, provider_specific_reason: _winrt.UInt32) -> None: ...
    def add_heartbeat_requested(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundService, AppBroadcastHeartbeatRequestedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_heartbeat_requested(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_broadcast_channel_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundService, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_broadcast_channel_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_broadcast_language_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundService, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_broadcast_language_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_broadcast_title_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundService, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_broadcast_title_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastBackgroundServiceSignInInfo(_winrt.Object):
    user_name: str
    o_auth_request_uri: typing.Optional[winsdk.windows.foundation.Uri]
    o_auth_callback_uri: typing.Optional[winsdk.windows.foundation.Uri]
    authentication_result: typing.Optional[winsdk.windows.security.authentication.web.WebAuthenticationResult]
    sign_in_state: AppBroadcastSignInState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastBackgroundServiceSignInInfo: ...
    def add_sign_in_state_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundServiceSignInInfo, AppBroadcastSignInStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_sign_in_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_user_name_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundServiceSignInInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_user_name_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastBackgroundServiceStreamInfo(_winrt.Object):
    desired_video_encoding_bitrate: _winrt.UInt64
    bandwidth_test_bitrate: _winrt.UInt64
    audio_codec: str
    broadcast_stream_reader: typing.Optional[AppBroadcastStreamReader]
    stream_state: AppBroadcastStreamState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastBackgroundServiceStreamInfo: ...
    def report_problem_with_stream(self) -> None: ...
    def add_stream_state_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundServiceStreamInfo, AppBroadcastStreamStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_stream_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_video_encoding_bitrate_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundServiceStreamInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_video_encoding_bitrate_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_video_encoding_resolution_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastBackgroundServiceStreamInfo, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_video_encoding_resolution_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastCameraCaptureStateChangedEventArgs(_winrt.Object):
    error_code: _winrt.UInt32
    state: AppBroadcastCameraCaptureState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastCameraCaptureStateChangedEventArgs: ...

class AppBroadcastGlobalSettings(_winrt.Object):
    system_audio_gain: _winrt.Double
    selected_camera_id: str
    microphone_gain: _winrt.Double
    is_microphone_capture_enabled_by_default: _winrt.Boolean
    is_echo_cancellation_enabled: _winrt.Boolean
    is_cursor_image_capture_enabled: _winrt.Boolean
    is_camera_capture_enabled_by_default: _winrt.Boolean
    is_audio_capture_enabled: _winrt.Boolean
    camera_overlay_size: AppBroadcastCameraOverlaySize
    camera_overlay_location: AppBroadcastCameraOverlayLocation
    has_hardware_encoder: _winrt.Boolean
    is_broadcast_enabled: _winrt.Boolean
    is_disabled_by_policy: _winrt.Boolean
    is_gpu_constrained: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastGlobalSettings: ...

class AppBroadcastHeartbeatRequestedEventArgs(_winrt.Object):
    handled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastHeartbeatRequestedEventArgs: ...

class AppBroadcastManager(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastManager: ...
    @staticmethod
    def apply_global_settings(value: typing.Optional[AppBroadcastGlobalSettings]) -> None: ...
    @staticmethod
    def apply_provider_settings(value: typing.Optional[AppBroadcastProviderSettings]) -> None: ...
    @staticmethod
    def get_global_settings() -> typing.Optional[AppBroadcastGlobalSettings]: ...
    @staticmethod
    def get_provider_settings() -> typing.Optional[AppBroadcastProviderSettings]: ...

class AppBroadcastMicrophoneCaptureStateChangedEventArgs(_winrt.Object):
    error_code: _winrt.UInt32
    state: AppBroadcastMicrophoneCaptureState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastMicrophoneCaptureStateChangedEventArgs: ...

class AppBroadcastPlugIn(_winrt.Object):
    app_id: str
    display_name: str
    logo: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStreamReference]
    provider_settings: typing.Optional[AppBroadcastProviderSettings]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPlugIn: ...

class AppBroadcastPlugInManager(_winrt.Object):
    default_plug_in: typing.Optional[AppBroadcastPlugIn]
    is_broadcast_provider_available: _winrt.Boolean
    plug_in_list: typing.Optional[winsdk.windows.foundation.collections.IVectorView[AppBroadcastPlugIn]]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPlugInManager: ...
    @staticmethod
    def get_default() -> typing.Optional[AppBroadcastPlugInManager]: ...
    @staticmethod
    def get_for_user(user: typing.Optional[winsdk.windows.system.User]) -> typing.Optional[AppBroadcastPlugInManager]: ...

class AppBroadcastPlugInStateChangedEventArgs(_winrt.Object):
    plug_in_state: AppBroadcastPlugInState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPlugInStateChangedEventArgs: ...

class AppBroadcastPreview(_winrt.Object):
    error_code: typing.Optional[typing.Optional[_winrt.UInt32]]
    preview_state: AppBroadcastPreviewState
    preview_stream_reader: typing.Optional[AppBroadcastPreviewStreamReader]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPreview: ...
    def stop_preview(self) -> None: ...
    def add_preview_state_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastPreview, AppBroadcastPreviewStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_preview_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastPreviewStateChangedEventArgs(_winrt.Object):
    error_code: _winrt.UInt32
    preview_state: AppBroadcastPreviewState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPreviewStateChangedEventArgs: ...

class AppBroadcastPreviewStreamReader(_winrt.Object):
    video_bitmap_alpha_mode: winsdk.windows.graphics.imaging.BitmapAlphaMode
    video_bitmap_pixel_format: winsdk.windows.graphics.imaging.BitmapPixelFormat
    video_height: _winrt.UInt32
    video_stride: _winrt.UInt32
    video_width: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPreviewStreamReader: ...
    def try_get_next_video_frame(self) -> typing.Optional[AppBroadcastPreviewStreamVideoFrame]: ...
    def add_video_frame_arrived(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastPreviewStreamReader, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_video_frame_arrived(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastPreviewStreamVideoFrame(_winrt.Object):
    video_buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer]
    video_header: typing.Optional[AppBroadcastPreviewStreamVideoHeader]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPreviewStreamVideoFrame: ...

class AppBroadcastPreviewStreamVideoHeader(_winrt.Object):
    absolute_timestamp: datetime.datetime
    duration: datetime.timedelta
    frame_id: _winrt.UInt64
    relative_timestamp: datetime.timedelta
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastPreviewStreamVideoHeader: ...

class AppBroadcastProviderSettings(_winrt.Object):
    video_encoding_resolution_mode: AppBroadcastVideoEncodingResolutionMode
    video_encoding_bitrate_mode: AppBroadcastVideoEncodingBitrateMode
    default_broadcast_title: str
    custom_video_encoding_width: _winrt.UInt32
    custom_video_encoding_height: _winrt.UInt32
    custom_video_encoding_bitrate: _winrt.UInt32
    audio_encoding_bitrate: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastProviderSettings: ...

class AppBroadcastServices(_winrt.Object):
    capture_target_type: AppBroadcastCaptureTargetType
    broadcast_title: str
    broadcast_language: str
    can_capture: _winrt.Boolean
    state: typing.Optional[AppBroadcastState]
    user_name: str
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastServices: ...
    def enter_broadcast_mode_async(self, plug_in: typing.Optional[AppBroadcastPlugIn]) -> winsdk.windows.foundation.IAsyncOperation[_winrt.UInt32]: ...
    def exit_broadcast_mode(self, reason: AppBroadcastExitBroadcastModeReason) -> None: ...
    def pause_broadcast(self) -> None: ...
    def resume_broadcast(self) -> None: ...
    def start_broadcast(self) -> None: ...
    def start_preview(self, desired_size: winsdk.windows.foundation.Size) -> typing.Optional[AppBroadcastPreview]: ...

class AppBroadcastSignInStateChangedEventArgs(_winrt.Object):
    result: AppBroadcastSignInResult
    sign_in_state: AppBroadcastSignInState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastSignInStateChangedEventArgs: ...

class AppBroadcastState(_winrt.Object):
    sign_in_state: AppBroadcastSignInState
    should_capture_microphone: _winrt.Boolean
    should_capture_camera: _winrt.Boolean
    authentication_result: typing.Optional[winsdk.windows.security.authentication.web.WebAuthenticationResult]
    is_capture_target_running: _winrt.Boolean
    microphone_capture_error: _winrt.UInt32
    microphone_capture_state: AppBroadcastMicrophoneCaptureState
    o_auth_callback_uri: typing.Optional[winsdk.windows.foundation.Uri]
    o_auth_request_uri: typing.Optional[winsdk.windows.foundation.Uri]
    plug_in_state: AppBroadcastPlugInState
    camera_capture_error: _winrt.UInt32
    camera_capture_state: AppBroadcastCameraCaptureState
    encoded_video_size: winsdk.windows.foundation.Size
    stream_state: AppBroadcastStreamState
    termination_reason: AppBroadcastTerminationReason
    termination_reason_plug_in_specific: _winrt.UInt32
    viewer_count: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastState: ...
    def restart_camera_capture(self) -> None: ...
    def restart_microphone_capture(self) -> None: ...
    def add_camera_capture_state_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, AppBroadcastCameraCaptureStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_camera_capture_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_capture_target_closed(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_capture_target_closed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_microphone_capture_state_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, AppBroadcastMicrophoneCaptureStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_microphone_capture_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_plug_in_state_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, AppBroadcastPlugInStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_plug_in_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_stream_state_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, AppBroadcastStreamStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_stream_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_viewer_count_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastState, AppBroadcastViewerCountChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_viewer_count_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastStreamAudioFrame(_winrt.Object):
    audio_buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer]
    audio_header: typing.Optional[AppBroadcastStreamAudioHeader]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamAudioFrame: ...

class AppBroadcastStreamAudioHeader(_winrt.Object):
    absolute_timestamp: datetime.datetime
    duration: datetime.timedelta
    frame_id: _winrt.UInt64
    has_discontinuity: _winrt.Boolean
    relative_timestamp: datetime.timedelta
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamAudioHeader: ...

class AppBroadcastStreamReader(_winrt.Object):
    audio_aac_sequence: typing.Optional[winsdk.windows.storage.streams.IBuffer]
    audio_bitrate: _winrt.UInt32
    audio_channels: _winrt.UInt32
    audio_sample_rate: _winrt.UInt32
    video_bitrate: _winrt.UInt32
    video_height: _winrt.UInt32
    video_width: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamReader: ...
    def try_get_next_audio_frame(self) -> typing.Optional[AppBroadcastStreamAudioFrame]: ...
    def try_get_next_video_frame(self) -> typing.Optional[AppBroadcastStreamVideoFrame]: ...
    def add_audio_frame_arrived(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastStreamReader, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_audio_frame_arrived(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_video_frame_arrived(self, value: winsdk.windows.foundation.TypedEventHandler[AppBroadcastStreamReader, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_video_frame_arrived(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppBroadcastStreamStateChangedEventArgs(_winrt.Object):
    stream_state: AppBroadcastStreamState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamStateChangedEventArgs: ...

class AppBroadcastStreamVideoFrame(_winrt.Object):
    video_buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer]
    video_header: typing.Optional[AppBroadcastStreamVideoHeader]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamVideoFrame: ...

class AppBroadcastStreamVideoHeader(_winrt.Object):
    absolute_timestamp: datetime.datetime
    duration: datetime.timedelta
    frame_id: _winrt.UInt64
    has_discontinuity: _winrt.Boolean
    is_key_frame: _winrt.Boolean
    relative_timestamp: datetime.timedelta
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastStreamVideoHeader: ...

class AppBroadcastTriggerDetails(_winrt.Object):
    background_service: typing.Optional[AppBroadcastBackgroundService]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastTriggerDetails: ...

class AppBroadcastViewerCountChangedEventArgs(_winrt.Object):
    viewer_count: _winrt.UInt32
    @staticmethod
    def _from(obj: _winrt.Object) -> AppBroadcastViewerCountChangedEventArgs: ...

class AppCapture(_winrt.Object):
    is_capturing_audio: _winrt.Boolean
    is_capturing_video: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCapture: ...
    @staticmethod
    def get_for_current_view() -> typing.Optional[AppCapture]: ...
    @staticmethod
    def set_allowed_async(allowed: _winrt.Boolean) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def add_capturing_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[AppCapture, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_capturing_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppCaptureAlternateShortcutKeys(_winrt.Object):
    toggle_recording_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_recording_key: winsdk.windows.system.VirtualKey
    toggle_recording_indicator_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_recording_indicator_key: winsdk.windows.system.VirtualKey
    toggle_game_bar_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_game_bar_key: winsdk.windows.system.VirtualKey
    take_screenshot_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    take_screenshot_key: winsdk.windows.system.VirtualKey
    save_historical_video_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    save_historical_video_key: winsdk.windows.system.VirtualKey
    toggle_microphone_capture_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_microphone_capture_key: winsdk.windows.system.VirtualKey
    toggle_camera_capture_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_camera_capture_key: winsdk.windows.system.VirtualKey
    toggle_broadcast_key_modifiers: winsdk.windows.system.VirtualKeyModifiers
    toggle_broadcast_key: winsdk.windows.system.VirtualKey
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureAlternateShortcutKeys: ...

class AppCaptureDurationGeneratedEventArgs(_winrt.Object):
    duration: datetime.timedelta
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureDurationGeneratedEventArgs: ...

class AppCaptureFileGeneratedEventArgs(_winrt.Object):
    file: typing.Optional[winsdk.windows.storage.StorageFile]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureFileGeneratedEventArgs: ...

class AppCaptureManager(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureManager: ...
    @staticmethod
    def apply_settings(app_capture_settings: typing.Optional[AppCaptureSettings]) -> None: ...
    @staticmethod
    def get_current_settings() -> typing.Optional[AppCaptureSettings]: ...

class AppCaptureMetadataWriter(_winrt.Object):
    remaining_storage_bytes_available: _winrt.UInt64
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureMetadataWriter: ...
    def __new__(cls: typing.Type[AppCaptureMetadataWriter]) -> AppCaptureMetadataWriter:...
    def add_double_event(self, name: str, value: _winrt.Double, priority: AppCaptureMetadataPriority) -> None: ...
    def add_int32_event(self, name: str, value: _winrt.Int32, priority: AppCaptureMetadataPriority) -> None: ...
    def add_string_event(self, name: str, value: str, priority: AppCaptureMetadataPriority) -> None: ...
    def close(self) -> None: ...
    def start_double_state(self, name: str, value: _winrt.Double, priority: AppCaptureMetadataPriority) -> None: ...
    def start_int32_state(self, name: str, value: _winrt.Int32, priority: AppCaptureMetadataPriority) -> None: ...
    def start_string_state(self, name: str, value: str, priority: AppCaptureMetadataPriority) -> None: ...
    def stop_all_states(self) -> None: ...
    def stop_state(self, name: str) -> None: ...
    def add_metadata_purged(self, handler: winsdk.windows.foundation.TypedEventHandler[AppCaptureMetadataWriter, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_metadata_purged(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppCaptureMicrophoneCaptureStateChangedEventArgs(_winrt.Object):
    error_code: _winrt.UInt32
    state: AppCaptureMicrophoneCaptureState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureMicrophoneCaptureStateChangedEventArgs: ...

class AppCaptureRecordOperation(_winrt.Object):
    duration: typing.Optional[typing.Optional[datetime.timedelta]]
    error_code: typing.Optional[typing.Optional[_winrt.UInt32]]
    file: typing.Optional[winsdk.windows.storage.StorageFile]
    is_file_truncated: typing.Optional[typing.Optional[_winrt.Boolean]]
    state: AppCaptureRecordingState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureRecordOperation: ...
    def stop_recording(self) -> None: ...
    def add_duration_generated(self, value: winsdk.windows.foundation.TypedEventHandler[AppCaptureRecordOperation, AppCaptureDurationGeneratedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_duration_generated(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_file_generated(self, value: winsdk.windows.foundation.TypedEventHandler[AppCaptureRecordOperation, AppCaptureFileGeneratedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_file_generated(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_state_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppCaptureRecordOperation, AppCaptureRecordingStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class AppCaptureRecordingStateChangedEventArgs(_winrt.Object):
    error_code: _winrt.UInt32
    state: AppCaptureRecordingState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureRecordingStateChangedEventArgs: ...

class AppCaptureServices(_winrt.Object):
    can_capture: _winrt.Boolean
    state: typing.Optional[AppCaptureState]
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureServices: ...
    def record(self) -> typing.Optional[AppCaptureRecordOperation]: ...
    def record_time_span(self, start_time: datetime.datetime, duration: datetime.timedelta) -> typing.Optional[AppCaptureRecordOperation]: ...

class AppCaptureSettings(_winrt.Object):
    is_historical_capture_on_wireless_display_allowed: _winrt.Boolean
    video_encoding_bitrate_mode: AppCaptureVideoEncodingBitrateMode
    is_historical_capture_on_battery_allowed: _winrt.Boolean
    is_audio_capture_enabled: _winrt.Boolean
    is_app_capture_enabled: _winrt.Boolean
    app_capture_destination_folder: typing.Optional[winsdk.windows.storage.StorageFolder]
    historical_buffer_length: _winrt.UInt32
    is_historical_capture_enabled: _winrt.Boolean
    custom_video_encoding_width: _winrt.UInt32
    custom_video_encoding_height: _winrt.UInt32
    custom_video_encoding_bitrate: _winrt.UInt32
    audio_encoding_bitrate: _winrt.UInt32
    historical_buffer_length_unit: AppCaptureHistoricalBufferLengthUnit
    video_encoding_resolution_mode: AppCaptureVideoEncodingResolutionMode
    screenshot_destination_folder: typing.Optional[winsdk.windows.storage.StorageFolder]
    maximum_record_length: datetime.timedelta
    has_hardware_encoder: _winrt.Boolean
    is_cpu_constrained: _winrt.Boolean
    is_memory_constrained: _winrt.Boolean
    is_disabled_by_policy: _winrt.Boolean
    alternate_shortcut_keys: typing.Optional[AppCaptureAlternateShortcutKeys]
    is_gpu_constrained: _winrt.Boolean
    is_microphone_capture_enabled: _winrt.Boolean
    video_encoding_frame_rate_mode: AppCaptureVideoEncodingFrameRateMode
    system_audio_gain: _winrt.Double
    microphone_gain: _winrt.Double
    is_microphone_capture_enabled_by_default: _winrt.Boolean
    is_echo_cancellation_enabled: _winrt.Boolean
    is_cursor_image_capture_enabled: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureSettings: ...

class AppCaptureState(_winrt.Object):
    should_capture_microphone: _winrt.Boolean
    is_historical_capture_enabled: _winrt.Boolean
    is_target_running: _winrt.Boolean
    microphone_capture_error: _winrt.UInt32
    microphone_capture_state: AppCaptureMicrophoneCaptureState
    @staticmethod
    def _from(obj: _winrt.Object) -> AppCaptureState: ...
    def restart_microphone_capture(self) -> None: ...
    def add_capture_target_closed(self, value: winsdk.windows.foundation.TypedEventHandler[AppCaptureState, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_capture_target_closed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_microphone_capture_state_changed(self, value: winsdk.windows.foundation.TypedEventHandler[AppCaptureState, AppCaptureMicrophoneCaptureStateChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_microphone_capture_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class CameraCaptureUI(_winrt.Object):
    photo_settings: typing.Optional[CameraCaptureUIPhotoCaptureSettings]
    video_settings: typing.Optional[CameraCaptureUIVideoCaptureSettings]
    @staticmethod
    def _from(obj: _winrt.Object) -> CameraCaptureUI: ...
    def __new__(cls: typing.Type[CameraCaptureUI]) -> CameraCaptureUI:...
    def capture_file_async(self, mode: CameraCaptureUIMode) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.storage.StorageFile]: ...

class CameraCaptureUIPhotoCaptureSettings(_winrt.Object):
    max_resolution: CameraCaptureUIMaxPhotoResolution
    format: CameraCaptureUIPhotoFormat
    cropped_size_in_pixels: winsdk.windows.foundation.Size
    cropped_aspect_ratio: winsdk.windows.foundation.Size
    allow_cropping: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> CameraCaptureUIPhotoCaptureSettings: ...

class CameraCaptureUIVideoCaptureSettings(_winrt.Object):
    max_resolution: CameraCaptureUIMaxVideoResolution
    max_duration_in_seconds: _winrt.Single
    format: CameraCaptureUIVideoFormat
    allow_trimming: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> CameraCaptureUIVideoCaptureSettings: ...

class CameraOptionsUI(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> CameraOptionsUI: ...
    @staticmethod
    def show(media_capture: typing.Optional[MediaCapture]) -> None: ...

class CapturedFrame(_winrt.Object):
    height: _winrt.UInt32
    width: _winrt.UInt32
    bitmap_properties: typing.Optional[winsdk.windows.graphics.imaging.BitmapPropertySet]
    control_values: typing.Optional[CapturedFrameControlValues]
    software_bitmap: typing.Optional[winsdk.windows.graphics.imaging.SoftwareBitmap]
    content_type: str
    size: _winrt.UInt64
    can_read: _winrt.Boolean
    can_write: _winrt.Boolean
    position: _winrt.UInt64
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> CapturedFrame: ...
    def clone_stream(self) -> typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]: ...
    def close(self) -> None: ...
    def flush_async(self) -> winsdk.windows.foundation.IAsyncOperation[_winrt.Boolean]: ...
    def get_input_stream_at(self, position: _winrt.UInt64) -> typing.Optional[winsdk.windows.storage.streams.IInputStream]: ...
    def get_output_stream_at(self, position: _winrt.UInt64) -> typing.Optional[winsdk.windows.storage.streams.IOutputStream]: ...
    def read_async(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer], count: _winrt.UInt32, options: winsdk.windows.storage.streams.InputStreamOptions) -> winsdk.windows.foundation.IAsyncOperationWithProgress[winsdk.windows.storage.streams.IBuffer, _winrt.UInt32]: ...
    def seek(self, position: _winrt.UInt64) -> None: ...
    def write_async(self, buffer: typing.Optional[winsdk.windows.storage.streams.IBuffer]) -> winsdk.windows.foundation.IAsyncOperationWithProgress[_winrt.UInt32, _winrt.UInt32]: ...

class CapturedFrameControlValues(_winrt.Object):
    exposure: typing.Optional[typing.Optional[datetime.timedelta]]
    exposure_compensation: typing.Optional[typing.Optional[_winrt.Single]]
    flash_power_percent: typing.Optional[typing.Optional[_winrt.Single]]
    flashed: typing.Optional[typing.Optional[_winrt.Boolean]]
    focus: typing.Optional[typing.Optional[_winrt.UInt32]]
    iso_speed: typing.Optional[typing.Optional[_winrt.UInt32]]
    scene_mode: typing.Optional[typing.Optional[winsdk.windows.media.devices.CaptureSceneMode]]
    white_balance: typing.Optional[typing.Optional[_winrt.UInt32]]
    zoom_factor: typing.Optional[typing.Optional[_winrt.Single]]
    focus_state: typing.Optional[typing.Optional[winsdk.windows.media.devices.MediaCaptureFocusState]]
    iso_analog_gain: typing.Optional[typing.Optional[_winrt.Double]]
    iso_digital_gain: typing.Optional[typing.Optional[_winrt.Double]]
    sensor_frame_rate: typing.Optional[winsdk.windows.media.mediaproperties.MediaRatio]
    white_balance_gain: typing.Optional[typing.Optional[WhiteBalanceGain]]
    @staticmethod
    def _from(obj: _winrt.Object) -> CapturedFrameControlValues: ...

class CapturedPhoto(_winrt.Object):
    frame: typing.Optional[CapturedFrame]
    thumbnail: typing.Optional[CapturedFrame]
    @staticmethod
    def _from(obj: _winrt.Object) -> CapturedPhoto: ...

class GameBarServices(_winrt.Object):
    app_broadcast_services: typing.Optional[AppBroadcastServices]
    app_capture_services: typing.Optional[AppCaptureServices]
    session_id: str
    target_capture_policy: GameBarTargetCapturePolicy
    target_info: typing.Optional[GameBarServicesTargetInfo]
    @staticmethod
    def _from(obj: _winrt.Object) -> GameBarServices: ...
    def disable_capture(self) -> None: ...
    def enable_capture(self) -> None: ...
    def add_command_received(self, value: winsdk.windows.foundation.TypedEventHandler[GameBarServices, GameBarServicesCommandEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_command_received(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class GameBarServicesCommandEventArgs(_winrt.Object):
    command: GameBarCommand
    origin: GameBarCommandOrigin
    @staticmethod
    def _from(obj: _winrt.Object) -> GameBarServicesCommandEventArgs: ...

class GameBarServicesManager(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> GameBarServicesManager: ...
    @staticmethod
    def get_default() -> typing.Optional[GameBarServicesManager]: ...
    def add_game_bar_services_created(self, value: winsdk.windows.foundation.TypedEventHandler[GameBarServicesManager, GameBarServicesManagerGameBarServicesCreatedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_game_bar_services_created(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class GameBarServicesManagerGameBarServicesCreatedEventArgs(_winrt.Object):
    game_bar_services: typing.Optional[GameBarServices]
    @staticmethod
    def _from(obj: _winrt.Object) -> GameBarServicesManagerGameBarServicesCreatedEventArgs: ...

class GameBarServicesTargetInfo(_winrt.Object):
    app_id: str
    display_mode: GameBarServicesDisplayMode
    display_name: str
    title_id: str
    @staticmethod
    def _from(obj: _winrt.Object) -> GameBarServicesTargetInfo: ...

class LowLagMediaRecording(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LowLagMediaRecording: ...
    def finish_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def pause_async(self, behavior: winsdk.windows.media.devices.MediaCapturePauseBehavior) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def pause_with_result_async(self, behavior: winsdk.windows.media.devices.MediaCapturePauseBehavior) -> winsdk.windows.foundation.IAsyncOperation[MediaCapturePauseResult]: ...
    def resume_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def start_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_with_result_async(self) -> winsdk.windows.foundation.IAsyncOperation[MediaCaptureStopResult]: ...

class LowLagPhotoCapture(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LowLagPhotoCapture: ...
    def capture_async(self) -> winsdk.windows.foundation.IAsyncOperation[CapturedPhoto]: ...
    def finish_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...

class LowLagPhotoSequenceCapture(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LowLagPhotoSequenceCapture: ...
    def finish_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def start_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def add_photo_captured(self, handler: winsdk.windows.foundation.TypedEventHandler[LowLagPhotoSequenceCapture, PhotoCapturedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_photo_captured(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class MediaCapture(_winrt.Object):
    audio_device_controller: typing.Optional[winsdk.windows.media.devices.AudioDeviceController]
    media_capture_settings: typing.Optional[MediaCaptureSettings]
    video_device_controller: typing.Optional[winsdk.windows.media.devices.VideoDeviceController]
    camera_stream_state: winsdk.windows.media.devices.CameraStreamState
    thermal_status: MediaCaptureThermalStatus
    frame_sources: typing.Optional[winsdk.windows.foundation.collections.IMapView[str, winsdk.windows.media.capture.frames.MediaFrameSource]]
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCapture: ...
    def __new__(cls: typing.Type[MediaCapture]) -> MediaCapture:...
    def add_audio_effect_async(self, definition: typing.Optional[winsdk.windows.media.effects.IAudioEffectDefinition]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.IMediaExtension]: ...
    def add_effect_async(self, media_stream_type: MediaStreamType, effect_activation_i_d: str, effect_settings: typing.Optional[winsdk.windows.foundation.collections.IPropertySet]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def add_video_effect_async(self, definition: typing.Optional[winsdk.windows.media.effects.IVideoEffectDefinition], media_stream_type: MediaStreamType) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.IMediaExtension]: ...
    def capture_photo_to_storage_file_async(self, type: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties], file: typing.Optional[winsdk.windows.storage.IStorageFile]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def capture_photo_to_stream_async(self, type: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties], stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def clear_effects_async(self, media_stream_type: MediaStreamType) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def close(self) -> None: ...
    @typing.overload
    def create_frame_reader_async(self, input_source: typing.Optional[winsdk.windows.media.capture.frames.MediaFrameSource]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.capture.frames.MediaFrameReader]: ...
    @typing.overload
    def create_frame_reader_async(self, input_source: typing.Optional[winsdk.windows.media.capture.frames.MediaFrameSource], output_subtype: str) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.capture.frames.MediaFrameReader]: ...
    @typing.overload
    def create_frame_reader_async(self, input_source: typing.Optional[winsdk.windows.media.capture.frames.MediaFrameSource], output_subtype: str, output_size: winsdk.windows.graphics.imaging.BitmapSize) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.capture.frames.MediaFrameReader]: ...
    def create_multi_source_frame_reader_async(self, input_sources: typing.Iterable[winsdk.windows.media.capture.frames.MediaFrameSource]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.capture.frames.MultiSourceMediaFrameReader]: ...
    def create_relative_panel_watcher(self, capture_mode: StreamingCaptureMode, display_region: typing.Optional[winsdk.windows.ui.windowmanagement.DisplayRegion]) -> typing.Optional[MediaCaptureRelativePanelWatcher]: ...
    @staticmethod
    def find_all_video_profiles(video_device_id: str) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfile]]: ...
    @staticmethod
    def find_concurrent_profiles(video_device_id: str) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfile]]: ...
    @staticmethod
    def find_known_video_profiles(video_device_id: str, name: KnownVideoProfile) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfile]]: ...
    def get_encoder_property(self, media_stream_type: MediaStreamType, property_id: _winrt.Guid) -> typing.Optional[_winrt.Object]: ...
    @typing.overload
    def get_preview_frame_async(self) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.VideoFrame]: ...
    @typing.overload
    def get_preview_frame_async(self, destination: typing.Optional[winsdk.windows.media.VideoFrame]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.VideoFrame]: ...
    def get_preview_mirroring(self) -> _winrt.Boolean: ...
    def get_preview_rotation(self) -> VideoRotation: ...
    def get_record_rotation(self) -> VideoRotation: ...
    @typing.overload
    def initialize_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @typing.overload
    def initialize_async(self, media_capture_initialization_settings: typing.Optional[MediaCaptureInitializationSettings]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @staticmethod
    def is_video_profile_supported(video_device_id: str) -> _winrt.Boolean: ...
    def pause_record_async(self, behavior: winsdk.windows.media.devices.MediaCapturePauseBehavior) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def pause_record_with_result_async(self, behavior: winsdk.windows.media.devices.MediaCapturePauseBehavior) -> winsdk.windows.foundation.IAsyncOperation[MediaCapturePauseResult]: ...
    def prepare_advanced_photo_capture_async(self, encoding_properties: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties]) -> winsdk.windows.foundation.IAsyncOperation[AdvancedPhotoCapture]: ...
    def prepare_low_lag_photo_capture_async(self, type: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties]) -> winsdk.windows.foundation.IAsyncOperation[LowLagPhotoCapture]: ...
    def prepare_low_lag_photo_sequence_capture_async(self, type: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties]) -> winsdk.windows.foundation.IAsyncOperation[LowLagPhotoSequenceCapture]: ...
    @typing.overload
    def prepare_low_lag_record_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_media_sink: typing.Optional[winsdk.windows.media.IMediaExtension]) -> winsdk.windows.foundation.IAsyncOperation[LowLagMediaRecording]: ...
    @typing.overload
    def prepare_low_lag_record_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_sink_activation_id: str, custom_sink_settings: typing.Optional[winsdk.windows.foundation.collections.IPropertySet]) -> winsdk.windows.foundation.IAsyncOperation[LowLagMediaRecording]: ...
    def prepare_low_lag_record_to_storage_file_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], file: typing.Optional[winsdk.windows.storage.IStorageFile]) -> winsdk.windows.foundation.IAsyncOperation[LowLagMediaRecording]: ...
    def prepare_low_lag_record_to_stream_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> winsdk.windows.foundation.IAsyncOperation[LowLagMediaRecording]: ...
    def prepare_variable_photo_sequence_capture_async(self, type: typing.Optional[winsdk.windows.media.mediaproperties.ImageEncodingProperties]) -> winsdk.windows.foundation.IAsyncOperation[winsdk.windows.media.capture.core.VariablePhotoSequenceCapture]: ...
    def remove_effect_async(self, effect: typing.Optional[winsdk.windows.media.IMediaExtension]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def resume_record_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def set_encoder_property(self, media_stream_type: MediaStreamType, property_id: _winrt.Guid, property_value: typing.Optional[_winrt.Object]) -> None: ...
    def set_encoding_properties_async(self, media_stream_type: MediaStreamType, media_encoding_properties: typing.Optional[winsdk.windows.media.mediaproperties.IMediaEncodingProperties], encoder_properties: typing.Optional[winsdk.windows.media.mediaproperties.MediaPropertySet]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def set_preview_mirroring(self, value: _winrt.Boolean) -> None: ...
    def set_preview_rotation(self, value: VideoRotation) -> None: ...
    def set_record_rotation(self, value: VideoRotation) -> None: ...
    def start_preview_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @typing.overload
    def start_preview_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_media_sink: typing.Optional[winsdk.windows.media.IMediaExtension]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @typing.overload
    def start_preview_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_sink_activation_id: str, custom_sink_settings: typing.Optional[winsdk.windows.foundation.collections.IPropertySet]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @typing.overload
    def start_record_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_media_sink: typing.Optional[winsdk.windows.media.IMediaExtension]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    @typing.overload
    def start_record_to_custom_sink_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], custom_sink_activation_id: str, custom_sink_settings: typing.Optional[winsdk.windows.foundation.collections.IPropertySet]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def start_record_to_storage_file_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], file: typing.Optional[winsdk.windows.storage.IStorageFile]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def start_record_to_stream_async(self, encoding_profile: typing.Optional[winsdk.windows.media.mediaproperties.MediaEncodingProfile], stream: typing.Optional[winsdk.windows.storage.streams.IRandomAccessStream]) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_preview_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_record_async(self) -> typing.Optional[winsdk.windows.foundation.IAsyncAction]: ...
    def stop_record_with_result_async(self) -> winsdk.windows.foundation.IAsyncOperation[MediaCaptureStopResult]: ...
    def add_failed(self, error_event_handler: typing.Optional[MediaCaptureFailedEventHandler]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_failed(self, event_cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_record_limitation_exceeded(self, record_limitation_exceeded_event_handler: typing.Optional[RecordLimitationExceededEventHandler]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_record_limitation_exceeded(self, event_cookie: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_focus_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCapture, MediaCaptureFocusChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_focus_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_photo_confirmation_captured(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCapture, PhotoConfirmationCapturedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_photo_confirmation_captured(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_camera_stream_state_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCapture, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_camera_stream_state_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_thermal_status_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCapture, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_thermal_status_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...
    def add_capture_device_exclusive_control_status_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCapture, MediaCaptureDeviceExclusiveControlStatusChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_capture_device_exclusive_control_status_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class MediaCaptureDeviceExclusiveControlStatusChangedEventArgs(_winrt.Object):
    device_id: str
    status: MediaCaptureDeviceExclusiveControlStatus
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureDeviceExclusiveControlStatusChangedEventArgs: ...

class MediaCaptureFailedEventArgs(_winrt.Object):
    code: _winrt.UInt32
    message: str
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureFailedEventArgs: ...

class MediaCaptureFocusChangedEventArgs(_winrt.Object):
    focus_state: winsdk.windows.media.devices.MediaCaptureFocusState
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureFocusChangedEventArgs: ...

class MediaCaptureInitializationSettings(_winrt.Object):
    video_device_id: str
    streaming_capture_mode: StreamingCaptureMode
    photo_capture_source: PhotoCaptureSource
    audio_device_id: str
    media_category: MediaCategory
    audio_processing: winsdk.windows.media.AudioProcessing
    video_source: typing.Optional[winsdk.windows.media.core.IMediaSource]
    audio_source: typing.Optional[winsdk.windows.media.core.IMediaSource]
    video_profile: typing.Optional[MediaCaptureVideoProfile]
    record_media_description: typing.Optional[MediaCaptureVideoProfileMediaDescription]
    preview_media_description: typing.Optional[MediaCaptureVideoProfileMediaDescription]
    photo_media_description: typing.Optional[MediaCaptureVideoProfileMediaDescription]
    source_group: typing.Optional[winsdk.windows.media.capture.frames.MediaFrameSourceGroup]
    sharing_mode: MediaCaptureSharingMode
    memory_preference: MediaCaptureMemoryPreference
    always_play_system_shutter_sound: _winrt.Boolean
    device_uri_password_credential: typing.Optional[winsdk.windows.security.credentials.PasswordCredential]
    device_uri: typing.Optional[winsdk.windows.foundation.Uri]
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureInitializationSettings: ...
    def __new__(cls: typing.Type[MediaCaptureInitializationSettings]) -> MediaCaptureInitializationSettings:...

class MediaCapturePauseResult(_winrt.Object):
    last_frame: typing.Optional[winsdk.windows.media.VideoFrame]
    record_duration: datetime.timedelta
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCapturePauseResult: ...
    def close(self) -> None: ...

class MediaCaptureRelativePanelWatcher(_winrt.Object):
    relative_panel: winsdk.windows.devices.enumeration.Panel
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureRelativePanelWatcher: ...
    def close(self) -> None: ...
    def start(self) -> None: ...
    def stop(self) -> None: ...
    def add_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[MediaCaptureRelativePanelWatcher, _winrt.Object]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class MediaCaptureSettings(_winrt.Object):
    audio_device_id: str
    photo_capture_source: PhotoCaptureSource
    streaming_capture_mode: StreamingCaptureMode
    video_device_characteristic: VideoDeviceCharacteristic
    video_device_id: str
    audio_processing: winsdk.windows.media.AudioProcessing
    camera_sound_required_for_region: _winrt.Boolean
    concurrent_record_and_photo_sequence_supported: _winrt.Boolean
    concurrent_record_and_photo_supported: _winrt.Boolean
    horizontal35mm_equivalent_focal_length: typing.Optional[typing.Optional[_winrt.UInt32]]
    media_category: MediaCategory
    pitch_offset_degrees: typing.Optional[typing.Optional[_winrt.Int32]]
    vertical35mm_equivalent_focal_length: typing.Optional[typing.Optional[_winrt.UInt32]]
    direct3_d11_device: typing.Optional[winsdk.windows.graphics.directx.direct3d11.IDirect3DDevice]
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureSettings: ...

class MediaCaptureStopResult(_winrt.Object):
    last_frame: typing.Optional[winsdk.windows.media.VideoFrame]
    record_duration: datetime.timedelta
    def __enter__(self: Self) -> Self: ...
    def __exit__(self, *args) -> None: ...
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureStopResult: ...
    def close(self) -> None: ...

class MediaCaptureVideoProfile(_winrt.Object):
    id: str
    supported_photo_media_description: typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfileMediaDescription]]
    supported_preview_media_description: typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfileMediaDescription]]
    supported_record_media_description: typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfileMediaDescription]]
    video_device_id: str
    frame_source_infos: typing.Optional[winsdk.windows.foundation.collections.IVectorView[winsdk.windows.media.capture.frames.MediaFrameSourceInfo]]
    properties: typing.Optional[winsdk.windows.foundation.collections.IMapView[_winrt.Guid, _winrt.Object]]
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureVideoProfile: ...
    def get_concurrency(self) -> typing.Optional[winsdk.windows.foundation.collections.IVectorView[MediaCaptureVideoProfile]]: ...

class MediaCaptureVideoProfileMediaDescription(_winrt.Object):
    frame_rate: _winrt.Double
    height: _winrt.UInt32
    is_hdr_video_supported: _winrt.Boolean
    is_variable_photo_sequence_supported: _winrt.Boolean
    width: _winrt.UInt32
    properties: typing.Optional[winsdk.windows.foundation.collections.IMapView[_winrt.Guid, _winrt.Object]]
    subtype: str
    @staticmethod
    def _from(obj: _winrt.Object) -> MediaCaptureVideoProfileMediaDescription: ...

class OptionalReferencePhotoCapturedEventArgs(_winrt.Object):
    context: typing.Optional[_winrt.Object]
    frame: typing.Optional[CapturedFrame]
    @staticmethod
    def _from(obj: _winrt.Object) -> OptionalReferencePhotoCapturedEventArgs: ...

class PhotoCapturedEventArgs(_winrt.Object):
    capture_time_offset: datetime.timedelta
    frame: typing.Optional[CapturedFrame]
    thumbnail: typing.Optional[CapturedFrame]
    @staticmethod
    def _from(obj: _winrt.Object) -> PhotoCapturedEventArgs: ...

class PhotoConfirmationCapturedEventArgs(_winrt.Object):
    capture_time_offset: datetime.timedelta
    frame: typing.Optional[CapturedFrame]
    @staticmethod
    def _from(obj: _winrt.Object) -> PhotoConfirmationCapturedEventArgs: ...

class ScreenCapture(_winrt.Object):
    audio_source: typing.Optional[winsdk.windows.media.core.IMediaSource]
    is_audio_suspended: _winrt.Boolean
    is_video_suspended: _winrt.Boolean
    video_source: typing.Optional[winsdk.windows.media.core.IMediaSource]
    @staticmethod
    def _from(obj: _winrt.Object) -> ScreenCapture: ...
    @staticmethod
    def get_for_current_view() -> typing.Optional[ScreenCapture]: ...
    def add_source_suspension_changed(self, handler: winsdk.windows.foundation.TypedEventHandler[ScreenCapture, SourceSuspensionChangedEventArgs]) -> winsdk.windows.foundation.EventRegistrationToken: ...
    def remove_source_suspension_changed(self, token: winsdk.windows.foundation.EventRegistrationToken) -> None: ...

class SourceSuspensionChangedEventArgs(_winrt.Object):
    is_audio_suspended: _winrt.Boolean
    is_video_suspended: _winrt.Boolean
    @staticmethod
    def _from(obj: _winrt.Object) -> SourceSuspensionChangedEventArgs: ...

class VideoStreamConfiguration(_winrt.Object):
    input_properties: typing.Optional[winsdk.windows.media.mediaproperties.VideoEncodingProperties]
    output_properties: typing.Optional[winsdk.windows.media.mediaproperties.VideoEncodingProperties]
    @staticmethod
    def _from(obj: _winrt.Object) -> VideoStreamConfiguration: ...

MediaCaptureFailedEventHandler = typing.Callable[[typing.Optional[MediaCapture], typing.Optional[MediaCaptureFailedEventArgs]], None]

RecordLimitationExceededEventHandler = typing.Callable[[typing.Optional[MediaCapture]], None]

