1import sys
2from typing import Optional, Union, overload
3from typing_extensions import Literal
4
5if sys.platform == "win32":
6    SND_FILENAME: int
7    SND_ALIAS: int
8    SND_LOOP: int
9    SND_MEMORY: int
10    SND_PURGE: int
11    SND_ASYNC: int
12    SND_NODEFAULT: int
13    SND_NOSTOP: int
14    SND_NOWAIT: int
15
16    MB_ICONASTERISK: int
17    MB_ICONEXCLAMATION: int
18    MB_ICONHAND: int
19    MB_ICONQUESTION: int
20    MB_OK: int
21    def Beep(frequency: int, duration: int) -> None: ...
22    # Can actually accept anything ORed with 4, and if not it's definitely str, but that's inexpressible
23    @overload
24    def PlaySound(sound: Optional[bytes], flags: Literal[4]) -> None: ...
25    @overload
26    def PlaySound(sound: Optional[Union[str, bytes]], flags: int) -> None: ...
27    def MessageBeep(type: int = ...) -> None: ...
28