* * @throws MovieNotFoundException If no movies match the query * @throws MovieDatabaseException If the external movie database is unreachable or returns an error */ public function search(string $query, array $options): Collection; /** * Find a specific movie by title or external ID. * * @param string $query The search value (a movie title or IMDB ID) * @param array $options Search options (e.g., ['type' => 'imdb'] to search by IMDB ID) * * @throws MovieNotFoundException If the movie cannot be found * @throws MovieDatabaseException If the external movie database is unreachable or returns an error */ public function find(string $query, array $options): MovieResult; }