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

import enum
import datetime
import sys
import types
import typing

import winsdk.system
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.graphics.imaging
import winsdk.windows.storage.streams

class SocialFeedItemStyle(enum.IntEnum):
    DEFAULT = 0
    PHOTO = 1

class SocialFeedKind(enum.IntEnum):
    HOME_FEED = 0
    CONTACT_FEED = 1
    DASHBOARD = 2

class SocialFeedUpdateMode(enum.IntEnum):
    APPEND = 0
    REPLACE = 1

class SocialItemBadgeStyle(enum.IntEnum):
    HIDDEN = 0
    VISIBLE = 1
    VISIBLE_WITH_COUNT = 2

Self = typing.TypeVar('Self')

class SocialFeedChildItem(winsdk.system.Object):
    timestamp: datetime.datetime
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    shared_item: typing.Optional[SocialFeedSharedItem]
    author: typing.Optional[SocialUserInfo]
    primary_content: typing.Optional[SocialFeedContent]
    secondary_content: typing.Optional[SocialFeedContent]
    thumbnails: typing.Optional[winsdk.windows.foundation.collections.IVector[SocialItemThumbnail]]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialFeedChildItem: ...
    def __new__(cls: typing.Type[SocialFeedChildItem]) -> SocialFeedChildItem:...

class SocialFeedContent(winsdk.system.Object):
    title: str
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    message: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialFeedContent: ...

class SocialFeedItem(winsdk.system.Object):
    timestamp: datetime.datetime
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    style: SocialFeedItemStyle
    shared_item: typing.Optional[SocialFeedSharedItem]
    remote_id: str
    child_item: typing.Optional[SocialFeedChildItem]
    badge_style: SocialItemBadgeStyle
    badge_count_value: winsdk.system.Int32
    author: typing.Optional[SocialUserInfo]
    thumbnails: typing.Optional[winsdk.windows.foundation.collections.IVector[SocialItemThumbnail]]
    primary_content: typing.Optional[SocialFeedContent]
    secondary_content: typing.Optional[SocialFeedContent]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialFeedItem: ...
    def __new__(cls: typing.Type[SocialFeedItem]) -> SocialFeedItem:...

class SocialFeedSharedItem(winsdk.system.Object):
    timestamp: datetime.datetime
    thumbnail: typing.Optional[SocialItemThumbnail]
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    original_source: typing.Optional[winsdk.windows.foundation.Uri]
    content: typing.Optional[SocialFeedContent]
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialFeedSharedItem: ...
    def __new__(cls: typing.Type[SocialFeedSharedItem]) -> SocialFeedSharedItem:...

class SocialItemThumbnail(winsdk.system.Object):
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    image_uri: typing.Optional[winsdk.windows.foundation.Uri]
    bitmap_size: winsdk.windows.graphics.imaging.BitmapSize
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialItemThumbnail: ...
    def __new__(cls: typing.Type[SocialItemThumbnail]) -> SocialItemThumbnail:...
    def set_image_async(self, image: typing.Optional[winsdk.windows.storage.streams.IInputStream]) -> winsdk.windows.foundation.IAsyncAction: ...

class SocialUserInfo(winsdk.system.Object):
    user_name: str
    target_uri: typing.Optional[winsdk.windows.foundation.Uri]
    remote_id: str
    display_name: str
    @staticmethod
    def _from(obj: winsdk.system.Object) -> SocialUserInfo: ...

