use anyhow::Result;
use async_trait::async_trait;

use super::types::MediaMetadata;
use crate::types::Provider;

#[async_trait]
pub trait MetadataProvider: Provider {
    fn is_enabled(&self) -> bool;

    async fn search(&self, query: &str) -> Result<MediaMetadata>;
}
