from typing import Any, Optional, Union
from typing import Sequence
from typing import Dict, List

__version__: str = ...
__author__: str = ...
__credits__: str = ...

from . import MPI
__all__: List[str] = ...

class Rc:
    initialize: bool = True
    threads: bool = True
    thread_level: str = 'multiple'
    finalize: Optional[bool] = None
    fast_reduce: bool = True
    recv_mprobe: bool = True
    errors: str = 'exception'
    def __init__(self, **kwargs: Any) -> None: ...
    def __call__(self, **kwargs: Any) -> None: ...
    def __repr__(self) -> str: ...

rc: Rc = ...

def get_include() -> str: ...

def get_config() -> Dict[str, str]: ...

def profile(
    name: str, *,
    path: Optional[Union[str, Sequence[str]]] = None,
    logfile: Optional[str] = None,
) -> None: ...
