from tkinter import Event, Misc, Toplevel
from typing import Any, List, Optional

class Dialog(Toplevel):
    def __init__(self, parent: Optional[Misc], title: Optional[str] = ...) -> None: ...
    def body(self, master) -> None: ...
    def buttonbox(self): ...

class SimpleDialog:
    def __init__(
        self,
        master: Optional[Misc],
        text: str = ...,
        buttons: List[str] = ...,
        default: Optional[int] = ...,
        cancel: Optional[int] = ...,
        title: Optional[str] = ...,
        class_: Optional[str] = ...,
    ) -> None: ...
    def go(self) -> Optional[int]: ...
    def return_event(self, event: Event[Misc]) -> None: ...
    def wm_delete_window(self) -> None: ...
    def done(self, num: int) -> None: ...

def askfloat(title: Optional[str], prompt: str, **kwargs: Any) -> float: ...
def askinteger(title: Optional[str], prompt: str, **kwargs: Any) -> int: ...
def askstring(title: Optional[str], prompt: str, **kwargs: Any) -> str: ...
