from datazen import CACHE_SUFFIX as CACHE_SUFFIX
from datazen.classes.base_environment import dep_slug_unwrap as dep_slug_unwrap
from datazen.classes.command_environment import CommandEnvironment as CommandEnvironment
from datazen.classes.compile_environment import CompileEnvironment as CompileEnvironment
from datazen.classes.group_environment import GroupEnvironment as GroupEnvironment
from datazen.classes.render_environment import RenderEnvironment as RenderEnvironment
from typing import Any, List, Tuple

LOG: Any

class Environment(CompileEnvironment, RenderEnvironment, GroupEnvironment, CommandEnvironment):
    visited: Any
    default: str
    def __init__(self) -> None: ...
    def execute(self, target: str = ..., should_cache: bool = ...) -> Tuple[bool, bool]: ...
    def execute_targets(self, targets: List[str]) -> bool: ...
    def group(self, target: str) -> Tuple[bool, bool]: ...
    def compile(self, target: str) -> Tuple[bool, bool]: ...
    def render(self, target: str) -> Tuple[bool, bool]: ...
    def command(self, target: str) -> Tuple[bool, bool]: ...

def from_manifest(manifest_path: str, data_cache_name: str = ...) -> Environment: ...
