# 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.geolocation
import winsdk.windows.foundation
import winsdk.windows.foundation.collections
import winsdk.windows.globalization
import winsdk.windows.services.maps

class LocalLocationFinderStatus(enum.IntEnum):
    SUCCESS = 0
    UNKNOWN_ERROR = 1
    INVALID_CREDENTIALS = 2
    INVALID_CATEGORY = 3
    INVALID_SEARCH_TERM = 4
    INVALID_SEARCH_AREA = 5
    NETWORK_FAILURE = 6
    NOT_SUPPORTED = 7

Self = typing.TypeVar('Self')

class LocalCategories(_winrt.Object):
    all: str
    bank_and_credit_unions: str
    eat_drink: str
    hospitals: str
    hotels_and_motels: str
    parking: str
    see_do: str
    shop: str
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalCategories: ...

class LocalLocation(_winrt.Object):
    address: typing.Optional[winsdk.windows.services.maps.MapAddress]
    data_attribution: str
    description: str
    display_name: str
    identifier: str
    phone_number: str
    point: typing.Optional[winsdk.windows.devices.geolocation.Geopoint]
    category: str
    hours_of_operation: typing.Optional[winsdk.windows.foundation.collections.IVectorView[LocalLocationHoursOfOperationItem]]
    rating_info: typing.Optional[LocalLocationRatingInfo]
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalLocation: ...

class LocalLocationFinder(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalLocationFinder: ...
    @staticmethod
    def find_local_locations_async(search_term: str, search_area: typing.Optional[winsdk.windows.devices.geolocation.Geocircle], local_category: str, max_results: _winrt.UInt32) -> winsdk.windows.foundation.IAsyncOperation[LocalLocationFinderResult]: ...

class LocalLocationFinderResult(_winrt.Object):
    local_locations: typing.Optional[winsdk.windows.foundation.collections.IVectorView[LocalLocation]]
    status: LocalLocationFinderStatus
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalLocationFinderResult: ...

class LocalLocationHoursOfOperationItem(_winrt.Object):
    day: winsdk.windows.globalization.DayOfWeek
    span: datetime.timedelta
    start: datetime.timedelta
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalLocationHoursOfOperationItem: ...

class LocalLocationRatingInfo(_winrt.Object):
    aggregate_rating: typing.Optional[typing.Optional[_winrt.Double]]
    provider_identifier: str
    rating_count: typing.Optional[typing.Optional[_winrt.Int32]]
    @staticmethod
    def _from(obj: _winrt.Object) -> LocalLocationRatingInfo: ...

class PlaceInfoHelper(_winrt.Object):
    @staticmethod
    def _from(obj: _winrt.Object) -> PlaceInfoHelper: ...
    @staticmethod
    def create_from_local_location(location: typing.Optional[LocalLocation]) -> typing.Optional[winsdk.windows.services.maps.PlaceInfo]: ...

