from collections.abc import Mapping
from pathlib import Path
from typing import Any

from _typeshed import StrPath

from ._run import Run

run: Run

def asset(path: StrPath, *, mkdir: bool = False) -> Path: ...
def input(path: StrPath, *, mkdir: bool = False) -> Path: ...  # noqa: A001
def output(path: StrPath, *, mkdir: bool = False) -> Path: ...
def temp(path: StrPath, *, mkdir: bool = False) -> Path: ...
def end(*args, **kwargs) -> None: ...
def get_other(name: str) -> Any: ...
def get_others() -> Mapping[str, Any]: ...
def get_param(name: str) -> Any: ...
def get_params() -> Mapping[str, Any]: ...
def get_url() -> str: ...
def log_asset(path: StrPath, **kwargs) -> None: ...
def log_input(path: StrPath, **kwargs) -> None: ...
def log_output(path: StrPath, **kwargs) -> None: ...
def log_temp(path: StrPath, **kwargs) -> None: ...
def log_metric(name: str, value: Any, step: int | None = None, **kwargs) -> None: ...
def log_metrics(
    metrics: Mapping[str, Any], step: int | None = None, **kwargs
) -> None: ...
def log_other(name: str, value: Any) -> None: ...
def log_others(others: Mapping[str, Any]) -> None: ...
def log_param(name: str, value: Any) -> None: ...
def log_params(params: Mapping[str, Any]) -> None: ...
def set_step(step: int | None = None) -> None: ...
def start(*args, **kwargs) -> None: ...
