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): ...
