# WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation as windows_foundation
import winrt.windows.media.capture as windows_media_capture

Self = typing.TypeVar('Self')

@typing.final
class VariablePhotoCapturedEventArgs(winrt.system.Object):
    # Windows.Foundation.TimeSpan Windows.Media.Capture.Core.VariablePhotoCapturedEventArgs::get_CaptureTimeOffset()
    @_property
    def capture_time_offset(self) -> datetime.timedelta: ...
    # Windows.Media.Capture.CapturedFrameControlValues Windows.Media.Capture.Core.VariablePhotoCapturedEventArgs::get_CapturedFrameControlValues()
    @_property
    def captured_frame_control_values(self) -> windows_media_capture.CapturedFrameControlValues: ...
    # Windows.Media.Capture.CapturedFrame Windows.Media.Capture.Core.VariablePhotoCapturedEventArgs::get_Frame()
    @_property
    def frame(self) -> windows_media_capture.CapturedFrame: ...
    # Windows.Foundation.IReference`1<System.UInt32> Windows.Media.Capture.Core.VariablePhotoCapturedEventArgs::get_UsedFrameControllerIndex()
    @_property
    def used_frame_controller_index(self) -> typing.Optional[winrt.system.UInt32]: ...

@typing.final
class VariablePhotoSequenceCapture(winrt.system.Object):
    # Windows.Foundation.IAsyncAction Windows.Media.Capture.Core.VariablePhotoSequenceCapture::FinishAsync()
    def finish_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.Capture.Core.VariablePhotoSequenceCapture::StartAsync()
    def start_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.Capture.Core.VariablePhotoSequenceCapture::StopAsync()
    def stop_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.IAsyncAction Windows.Media.Capture.Core.VariablePhotoSequenceCapture::UpdateSettingsAsync()
    def update_settings_async(self) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.Capture.Core.VariablePhotoSequenceCapture::add_PhotoCaptured(Windows.Foundation.TypedEventHandler`2<Windows.Media.Capture.Core.VariablePhotoSequenceCapture,Windows.Media.Capture.Core.VariablePhotoCapturedEventArgs>)
    def add_photo_captured(self, handler: windows_foundation.TypedEventHandler[VariablePhotoSequenceCapture, VariablePhotoCapturedEventArgs], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.Capture.Core.VariablePhotoSequenceCapture::remove_PhotoCaptured(Windows.Foundation.EventRegistrationToken)
    def remove_photo_captured(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...
    # Windows.Foundation.EventRegistrationToken Windows.Media.Capture.Core.VariablePhotoSequenceCapture::add_Stopped(Windows.Foundation.TypedEventHandler`2<Windows.Media.Capture.Core.VariablePhotoSequenceCapture,System.Object>)
    def add_stopped(self, handler: windows_foundation.TypedEventHandler[VariablePhotoSequenceCapture, winrt.system.Object], /) -> windows_foundation.EventRegistrationToken: ...
    # System.Void Windows.Media.Capture.Core.VariablePhotoSequenceCapture::remove_Stopped(Windows.Foundation.EventRegistrationToken)
    def remove_stopped(self, token: typing.Union[windows_foundation.EventRegistrationToken, typing.Tuple[winrt.system.Int64]], /) -> None: ...

