from __future__ import annotations

from typing import Any, Optional

class NestSequence:
    def __init__(self, raw_input: Any, need_check: bool = ...) -> None: ...
    def tolist(self): ...
    def restore(self, value_list: Any): ...
    @property
    def var_ids(self): ...
    def __getitem__(self, item: Any): ...

class LazyInitialized:
    function: Any = ...
    def __init__(self, function: Any) -> None: ...
    def __get__(self, instance: Any, cls: Any): ...

class PartialProgramLayer:
    training: bool = ...
    def __init__(
        self, main_program: Any, inputs: Any, outputs: Any, parameters: Optional[Any] = ..., **kwargs: Any
    ) -> None: ...
    def __call__(self, inputs: Any): ...
    def drop_scope_if_no_grad(self) -> None: ...
    @property
    def program(self): ...
    @property
    def program_id(self): ...

def partial_program_from(concrete_program: Any): ...
