import collections.abc
import nanobind
import pydrake.geometry
import pydrake.multibody.plant
import pydrake.systems.framework
from _typeshed import Incomplete
from pydrake.common.cpp_template import ContactVisualizer_ as ContactVisualizer_, JointSliders_ as JointSliders_
from typing import ClassVar

class ContactVisualizer(pydrake.systems.framework.LeafSystem):
    AddToBuilder: ClassVar[nanobind.nb_func] = ...
    def __init__(self, meshcat: pydrake.geometry.Meshcat, params: ContactVisualizerParams = ...) -> None: ...
    def Delete(self) -> None: ...
    def contact_results_input_port(self) -> pydrake.systems.framework.InputPort: ...
    def query_object_input_port(self) -> pydrake.systems.framework.InputPort: ...

class ContactVisualizerParams:
    color: pydrake.geometry.Rgba
    delete_on_initialization_event: bool
    force_threshold: float
    hydro_force_color: pydrake.geometry.Rgba
    hydro_moment_color: pydrake.geometry.Rgba
    moment_threshold: float
    newton_meters_per_meter: float
    newtons_per_meter: float
    prefix: str
    publish_period: float
    radius: float
    def __init__(self, **kwargs) -> None: ...
    def __copy__(self) -> ContactVisualizerParams: ...
    def __deepcopy__(self, arg: dict) -> ContactVisualizerParams: ...
    @property
    def __fields__(self): ...

class ContactVisualizer_𝓣AutoDiffXd𝓤(pydrake.systems.framework.LeafSystem_TAutoDiffXdU):
    AddToBuilder: ClassVar[nanobind.nb_func] = ...
    _original_name: ClassVar[str] = ...
    _original_qualname: ClassVar[str] = ...
    def __init__(self, meshcat: pydrake.geometry.Meshcat, params: ContactVisualizerParams = ...) -> None: ...
    def Delete(self) -> None: ...
    def contact_results_input_port(self) -> pydrake.systems.framework.InputPort_TAutoDiffXdU: ...
    def query_object_input_port(self) -> pydrake.systems.framework.InputPort_TAutoDiffXdU: ...

class JointSliders(pydrake.systems.framework.LeafSystem):
    def __init__(self, meshcat: pydrake.geometry.Meshcat, plant: pydrake.multibody.plant.MultibodyPlant, initial_value=..., lower_limit=..., upper_limit=..., step=..., decrement_keycodes: collections.abc.Sequence[str] = ..., increment_keycodes: collections.abc.Sequence[str] = ...) -> None: ...
    def Delete(self) -> None: ...
    def Run(self, *args, **kwargs): ...
    def SetPositions(self, q) -> None: ...

class JointSliders_𝓣AutoDiffXd𝓤(pydrake.systems.framework.LeafSystem_TAutoDiffXdU):
    _original_name: ClassVar[str] = ...
    _original_qualname: ClassVar[str] = ...
    def __init__(self, meshcat: pydrake.geometry.Meshcat, plant: pydrake.multibody.plant.MultibodyPlant_TAutoDiffXdU, initial_value=..., lower_limit=..., upper_limit=..., step=..., decrement_keycodes: collections.abc.Sequence[str] = ..., increment_keycodes: collections.abc.Sequence[str] = ...) -> None: ...
    def Delete(self) -> None: ...
    def Run(self, *args, **kwargs): ...
    def SetPositions(self, q) -> None: ...

class _HydroelasticContactVisualizer:
    def __init__(self, meshcat: pydrake.geometry.Meshcat, params: ContactVisualizerParams) -> None: ...
    def Delete(self) -> None: ...
    def Update(self, time: float, items: collections.abc.Sequence[_HydroelasticContactVisualizerItem]) -> None: ...

class _HydroelasticContactVisualizerItem:
    body_A: Incomplete
    body_B: Incomplete
    centroid_W: Incomplete
    faces: Incomplete
    force_C_W: Incomplete
    moment_C_W: Incomplete
    p_WV: Incomplete
    pressure: Incomplete
    def __init__(self, body_A: str, body_B: str, centroid_W, force_C_W, moment_C_W, p_WV, faces, pressure) -> None: ...

class _PointContactVisualizer:
    def __init__(self, meshcat: pydrake.geometry.Meshcat, params: ContactVisualizerParams) -> None: ...
    def Update(self, time: float, items: collections.abc.Sequence[_PointContactVisualizerItem]) -> None: ...

class _PointContactVisualizerItem:
    body_A: Incomplete
    body_B: Incomplete
    contact_force: Incomplete
    contact_point: Incomplete
    def __init__(self, body_A: str, body_B: str, contact_force, contact_point) -> None: ...

class _TemporaryName_N5drake9multibody7meshcat12JointSlidersINS_2ad8AutoDiffEEE(pydrake.systems.framework.LeafSystem_TAutoDiffXdU):
    _original_name: ClassVar[str] = ...
    _original_qualname: ClassVar[str] = ...
    def __init__(self, meshcat: pydrake.geometry.Meshcat, plant: pydrake.multibody.plant.MultibodyPlant_TAutoDiffXdU, initial_value=..., lower_limit=..., upper_limit=..., step=..., decrement_keycodes: collections.abc.Sequence[str] = ..., increment_keycodes: collections.abc.Sequence[str] = ...) -> None: ...
    def Delete(self) -> None: ...
    def Run(self, *args, **kwargs): ...
    def SetPositions(self, q) -> None: ...

class _TemporaryName_N5drake9multibody7meshcat17ContactVisualizerINS_2ad8AutoDiffEEE(pydrake.systems.framework.LeafSystem_TAutoDiffXdU):
    AddToBuilder: ClassVar[nanobind.nb_func] = ...
    _original_name: ClassVar[str] = ...
    _original_qualname: ClassVar[str] = ...
    def __init__(self, meshcat: pydrake.geometry.Meshcat, params: ContactVisualizerParams = ...) -> None: ...
    def Delete(self) -> None: ...
    def contact_results_input_port(self) -> pydrake.systems.framework.InputPort_TAutoDiffXdU: ...
    def query_object_input_port(self) -> pydrake.systems.framework.InputPort_TAutoDiffXdU: ...
