import typing

import android.graphics.drawable
import android.os
import java
import java.lang
import java.util

class ConversationStatus(android.os.Parcelable):
    ACTIVITY_ANNIVERSARY: typing.ClassVar[int] = ...
    ACTIVITY_AUDIO: typing.ClassVar[int] = ...
    ACTIVITY_BIRTHDAY: typing.ClassVar[int] = ...
    ACTIVITY_GAME: typing.ClassVar[int] = ...
    ACTIVITY_LOCATION: typing.ClassVar[int] = ...
    ACTIVITY_NEW_STORY: typing.ClassVar[int] = ...
    ACTIVITY_OTHER: typing.ClassVar[int] = ...
    ACTIVITY_UPCOMING_BIRTHDAY: typing.ClassVar[int] = ...
    ACTIVITY_VIDEO: typing.ClassVar[int] = ...
    AVAILABILITY_AVAILABLE: typing.ClassVar[int] = ...
    AVAILABILITY_BUSY: typing.ClassVar[int] = ...
    AVAILABILITY_OFFLINE: typing.ClassVar[int] = ...
    AVAILABILITY_UNKNOWN: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ConversationStatus]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getActivity(self) -> int: ...
    def getAvailability(self) -> int: ...
    def getDescription(self) -> java.lang.CharSequence | None: ...
    def getEndTimeMillis(self) -> int: ...
    def getIcon(self) -> android.graphics.drawable.Icon | None: ...
    def getId(self) -> str: ...
    def getStartTimeMillis(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self, id: str | java.lang.String, activity: int | java.jint | java.lang.Integer, /) -> None: ...
        def build(self) -> ConversationStatus: ...
        def setAvailability(self, availability: int | java.jint | java.lang.Integer, /) -> ConversationStatus.Builder: ...
        def setDescription(self, description: java.lang.CharSequence, /) -> ConversationStatus.Builder: ...
        def setEndTimeMillis(self, endTimeMs: int | java.jlong | java.lang.Long, /) -> ConversationStatus.Builder: ...
        def setIcon(self, icon: android.graphics.drawable.Icon, /) -> ConversationStatus.Builder: ...
        def setStartTimeMillis(self, startTimeMs: int | java.jlong | java.lang.Long, /) -> ConversationStatus.Builder: ...

class PeopleManager(java.lang.Object):
    def addOrUpdateStatus(self, conversationId: str | java.lang.String, status: ConversationStatus, /) -> None: ...
    def clearStatus(self, conversationId: str | java.lang.String, statusId: str | java.lang.String, /) -> None: ...
    def clearStatuses(self, conversationId: str | java.lang.String, /) -> None: ...
    def getStatuses(self, conversationId: str | java.lang.String, /) -> java.util.List[ConversationStatus]: ...
