# VisibilityFilter

**Kind:** Class

**Source:** [`atloria-monorepo/libs/parser-core/src/generators/versioning/visibility-filter.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/parser-core/src/generators/versioning/visibility-filter.ts#L35)

## Methods

| Method | Signature | Returns |
|---|---|---|
| `filter` | `filter(entities: Entity[], config: VisibilityFilterConfig)` | `FilteredEntities` |
| `generateFilterUI` | `generateFilterUI(config: VisibilityFilterConfig)` | `string` |
| `generateFrontmatter` | `generateFrontmatter(entity: Entity)` | `Record<string, unknown>` |

## Where it refuses work

- `VisibilityFilter` stops the work with an early return when `metadata?.['deprecated'] === true || description.includes('@deprecated')`, in 2 places.
- `VisibilityFilter` stops the work with an early return when `config.customFilter && !config.customFilter(entity)`.
- `VisibilityFilter` stops the work with an early return when `metadata?.['access'] === 'private' || tags.includes('private')`.
- `VisibilityFilter` stops the work with an early return when `metadata?.['internal'] === true || description.includes('@internal')`.
- `VisibilityFilter` stops the work with an early return when `metadata?.['access'] === 'protected' || tags.includes('protected')`.
- `VisibilityFilter` stops the work with an early return when `stability === 'alpha' || tags.includes('alpha')`.
