from org.telegram.ui.ActionBar import BaseFragment as BaseFragment, Theme as Theme
from typing import Callable

class BulletinHelper:
    DURATION_SHORT: int
    DURATION_LONG: int
    DURATION_PROLONG: int
    @classmethod
    def show_info(cls, message: str, fragment: BaseFragment | None = None): ...
    @classmethod
    def show_error(cls, message: str, fragment: BaseFragment | None = None): ...
    @classmethod
    def show_success(cls, message: str, fragment: BaseFragment | None = None): ...
    @classmethod
    def show_simple(
        cls, text: str, icon_res_id: int, fragment: BaseFragment | None = None
    ): ...
    @classmethod
    def show_two_line(
        cls,
        title: str,
        subtitle: str,
        icon_res_id: int,
        fragment: BaseFragment | None = None,
    ): ...
    @classmethod
    def show_with_button(
        cls,
        text: str,
        icon_res_id: int,
        button_text: str,
        on_click: Callable[[], None] | None,
        fragment: BaseFragment | None = None,
        duration: int = ...,
    ): ...
    @classmethod
    def show_undo(
        cls,
        text: str,
        on_undo: Callable[[], None],
        on_action: Callable[[], None] | None = None,
        subtitle: str | None = None,
        fragment: BaseFragment | None = None,
    ): ...
    @classmethod
    def show_copied_to_clipboard(
        cls, message: str | None = None, fragment: BaseFragment | None = None
    ): ...
    @classmethod
    def show_link_copied(
        cls, is_private_link_info: bool = False, fragment: BaseFragment | None = None
    ): ...
    @classmethod
    def show_file_saved_to_gallery(
        cls,
        is_video: bool = False,
        amount: int = 1,
        fragment: BaseFragment | None = None,
    ): ...
    @classmethod
    def show_file_saved_to_downloads(
        cls,
        file_type_enum_name: str = "UNKNOWN",
        amount: int = 1,
        fragment: BaseFragment | None = None,
    ): ...
