# 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.foundation.collections as windows_foundation_collections
import winrt.windows.graphics.imaging as windows_graphics_imaging
import winrt.windows.storage.streams as windows_storage_streams

from winrt.windows.applicationmodel.socialinfo import SocialFeedItemStyle, SocialFeedKind, SocialFeedUpdateMode, SocialItemBadgeStyle

Self = typing.TypeVar('Self')

@typing.final
class SocialFeedChildItem(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.DateTime Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_Timestamp()
    @_property
    def timestamp(self) -> datetime.datetime: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::put_Timestamp(Windows.Foundation.DateTime)
    @timestamp.setter
    def timestamp(self, value: datetime.datetime) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_SharedItem()
    @_property
    def shared_item(self) -> SocialFeedSharedItem: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::put_SharedItem(Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem)
    @shared_item.setter
    def shared_item(self, value: SocialFeedSharedItem) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialUserInfo Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_Author()
    @_property
    def author(self) -> SocialUserInfo: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedContent Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_PrimaryContent()
    @_property
    def primary_content(self) -> SocialFeedContent: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedContent Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_SecondaryContent()
    @_property
    def secondary_content(self) -> SocialFeedContent: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.SocialInfo.SocialItemThumbnail> Windows.ApplicationModel.SocialInfo.SocialFeedChildItem::get_Thumbnails()
    @_property
    def thumbnails(self) -> typing.MutableSequence[SocialItemThumbnail]: ...

@typing.final
class SocialFeedContent(winrt.system.Object):
    # System.String Windows.ApplicationModel.SocialInfo.SocialFeedContent::get_Title()
    @_property
    def title(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedContent::put_Title(System.String)
    @title.setter
    def title(self, value: str) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialFeedContent::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedContent::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.String Windows.ApplicationModel.SocialInfo.SocialFeedContent::get_Message()
    @_property
    def message(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedContent::put_Message(System.String)
    @message.setter
    def message(self, value: str) -> None: ...

@typing.final
class SocialFeedItem(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.DateTime Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_Timestamp()
    @_property
    def timestamp(self) -> datetime.datetime: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_Timestamp(Windows.Foundation.DateTime)
    @timestamp.setter
    def timestamp(self, value: datetime.datetime) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedItemStyle Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_Style()
    @_property
    def style(self) -> SocialFeedItemStyle: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_Style(Windows.ApplicationModel.SocialInfo.SocialFeedItemStyle)
    @style.setter
    def style(self, value: SocialFeedItemStyle) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_SharedItem()
    @_property
    def shared_item(self) -> SocialFeedSharedItem: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_SharedItem(Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem)
    @shared_item.setter
    def shared_item(self, value: SocialFeedSharedItem) -> None: ...
    # System.String Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_RemoteId()
    @_property
    def remote_id(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_RemoteId(System.String)
    @remote_id.setter
    def remote_id(self, value: str) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedChildItem Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_ChildItem()
    @_property
    def child_item(self) -> SocialFeedChildItem: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_ChildItem(Windows.ApplicationModel.SocialInfo.SocialFeedChildItem)
    @child_item.setter
    def child_item(self, value: SocialFeedChildItem) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialItemBadgeStyle Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_BadgeStyle()
    @_property
    def badge_style(self) -> SocialItemBadgeStyle: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_BadgeStyle(Windows.ApplicationModel.SocialInfo.SocialItemBadgeStyle)
    @badge_style.setter
    def badge_style(self, value: SocialItemBadgeStyle) -> None: ...
    # System.Int32 Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_BadgeCountValue()
    @_property
    def badge_count_value(self) -> winrt.system.Int32: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedItem::put_BadgeCountValue(System.Int32)
    @badge_count_value.setter
    def badge_count_value(self, value: winrt.system.Int32) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialUserInfo Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_Author()
    @_property
    def author(self) -> SocialUserInfo: ...
    # Windows.Foundation.Collections.IVector`1<Windows.ApplicationModel.SocialInfo.SocialItemThumbnail> Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_Thumbnails()
    @_property
    def thumbnails(self) -> typing.MutableSequence[SocialItemThumbnail]: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedContent Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_PrimaryContent()
    @_property
    def primary_content(self) -> SocialFeedContent: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedContent Windows.ApplicationModel.SocialInfo.SocialFeedItem::get_SecondaryContent()
    @_property
    def secondary_content(self) -> SocialFeedContent: ...

@typing.final
class SocialFeedSharedItem(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.DateTime Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::get_Timestamp()
    @_property
    def timestamp(self) -> datetime.datetime: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::put_Timestamp(Windows.Foundation.DateTime)
    @timestamp.setter
    def timestamp(self, value: datetime.datetime) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialItemThumbnail Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::get_Thumbnail()
    @_property
    def thumbnail(self) -> SocialItemThumbnail: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::put_Thumbnail(Windows.ApplicationModel.SocialInfo.SocialItemThumbnail)
    @thumbnail.setter
    def thumbnail(self, value: SocialItemThumbnail) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::get_OriginalSource()
    @_property
    def original_source(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::put_OriginalSource(Windows.Foundation.Uri)
    @original_source.setter
    def original_source(self, value: windows_foundation.Uri) -> None: ...
    # Windows.ApplicationModel.SocialInfo.SocialFeedContent Windows.ApplicationModel.SocialInfo.SocialFeedSharedItem::get_Content()
    @_property
    def content(self) -> SocialFeedContent: ...

@typing.final
class SocialItemThumbnail(winrt.system.Object):
    def __new__(cls: typing.Type[Self]) -> Self: ...
    # Windows.Foundation.IAsyncAction Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::SetImageAsync(Windows.Storage.Streams.IInputStream)
    # @deprecated("ISocialItemThumbnail is deprecated and might not work on all platforms. For more info, see MSDN.")
    def set_image_async(self, image: windows_storage_streams.IInputStream, /) -> windows_foundation.IAsyncAction: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::get_ImageUri()
    @_property
    def image_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::put_ImageUri(Windows.Foundation.Uri)
    @image_uri.setter
    def image_uri(self, value: windows_foundation.Uri) -> None: ...
    # Windows.Graphics.Imaging.BitmapSize Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::get_BitmapSize()
    @_property
    def bitmap_size(self) -> windows_graphics_imaging.BitmapSize: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialItemThumbnail::put_BitmapSize(Windows.Graphics.Imaging.BitmapSize)
    @bitmap_size.setter
    def bitmap_size(self, value: typing.Union[windows_graphics_imaging.BitmapSize, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...

@typing.final
class SocialUserInfo(winrt.system.Object):
    # System.String Windows.ApplicationModel.SocialInfo.SocialUserInfo::get_UserName()
    @_property
    def user_name(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialUserInfo::put_UserName(System.String)
    @user_name.setter
    def user_name(self, value: str) -> None: ...
    # Windows.Foundation.Uri Windows.ApplicationModel.SocialInfo.SocialUserInfo::get_TargetUri()
    @_property
    def target_uri(self) -> windows_foundation.Uri: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialUserInfo::put_TargetUri(Windows.Foundation.Uri)
    @target_uri.setter
    def target_uri(self, value: windows_foundation.Uri) -> None: ...
    # System.String Windows.ApplicationModel.SocialInfo.SocialUserInfo::get_RemoteId()
    @_property
    def remote_id(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialUserInfo::put_RemoteId(System.String)
    @remote_id.setter
    def remote_id(self, value: str) -> None: ...
    # System.String Windows.ApplicationModel.SocialInfo.SocialUserInfo::get_DisplayName()
    @_property
    def display_name(self) -> str: ...
    # System.Void Windows.ApplicationModel.SocialInfo.SocialUserInfo::put_DisplayName(System.String)
    @display_name.setter
    def display_name(self, value: str) -> None: ...

