# `HtmlSanitizeEx.Scrubber`
[🔗](https://github.com/rrrene/html_sanitize_ex/blob/main/lib/html_sanitize_ex/scrubber.ex#L1)

# `node_with_children`

```elixir
@type node_with_children() ::
  {tag :: String.t(), attributes :: Keyword.t(), children :: list()}
```

# `before_scrub`

```elixir
@callback before_scrub(html :: String.t()) :: String.t()
```

# `scrub`

```elixir
@callback scrub(node_with_children()) :: node_with_children()
@callback scrub({token :: atom(), children :: list()}) :: tuple()
@callback scrub(text :: String.t()) :: String.t()
```

# `scrub_attribute`

```elixir
@callback scrub_attribute(tag :: String.t(), attribute :: String.t()) :: tuple() | nil
```

# `scrub_attributes`

```elixir
@callback scrub_attributes(tag :: String.t(), attributes :: Keyword.t()) :: Keyword.t()
```

# `scrub`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
