# ex_immich v0.1.1 - Table of Contents

## Modules

- [Immich](Immich.md): Elixir client library for working with the Immich API.
- [Immich.API](Immich.API.md): Public facade for the most common Immich API workflows.
- [Immich.API.Client](Immich.API.Client.md): Generic HTTP client for Immich API requests.

- [Immich.API.Client.Behaviour](Immich.API.Client.Behaviour.md): Defines the expected interface for HTTP clients used by the Immich API modules.

- [Immich.API.OAuth](Immich.API.OAuth.md): OAuth authentication flow for the Immich API.
- [Immich.API.PKCE](Immich.API.PKCE.md): Generates PKCE parameters for the Immich OAuth flow.

- [Immich.API.Session](Immich.API.Session.md): Manages API session state, including authentication status and credentials.

- [Immich.Sync](Immich.Sync.md): Callback-driven sync pipeline for streaming, processing, and acknowledgements.
- [Immich.Sync.Event](Immich.Sync.Event.md): Represents a single sync event emitted by the sync stream.

- [Immich.Sync.EventProcessor](Immich.Sync.EventProcessor.md): Behaviour for processing sync event chunks.
- [Immich.Sync.EventStream](Immich.Sync.EventStream.md): Behaviour for fetching sync events and acknowledging processed chunks.

