use crate::types::{InvokeRequest, InvokeResponse, ParseRequest, ParseResponse};
use travsr_core::Language;
pub trait Plugin: Send + Sync {
fn language(&self) -> Language;
fn extensions(&self) -> &[&str];
fn supports_phase_b(&self) -> bool {
false
}
fn parse(&self, req: &ParseRequest) -> ParseResponse;
fn invoke_phase_b(&self, _req: &InvokeRequest) -> InvokeResponse {
InvokeResponse::unsupported()
}
}