from __future__ import annotations

from typing import Any

from paddle.distributed.passes import PassContext as PassContext

from .public import *

class PsProgramBuilder:
    pass_ctx: Any = ...
    attrs: Any = ...
    loss: Any = ...
    cloned_main: Any = ...
    cloned_startup: Any = ...
    use_ps_gpu: Any = ...
    use_heter_ps: Any = ...
    is_worker: Any = ...
    is_heter_worker: Any = ...
    ps_mode: Any = ...
    launch_barrier: Any = ...
    launch_barrier_flag: Any = ...
    server_endpoints: Any = ...
    def __init__(self, pass_ctx: Any) -> None: ...

class GeoPsProgramBuilder(PsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...

class CpuSyncPsProgramBuilder(PsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...

class CpuAsyncPsProgramBuilder(CpuSyncPsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...

class GpuPsProgramBuilder(PsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...

class HeterAsyncPsProgramBuilder(PsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...

class FlPsProgramBuilder(PsProgramBuilder):
    def __init__(self, pass_ctx: Any) -> None: ...
