use crate::builder::builder_options::BuilderOptions;
use std::path::Path;
use crate::provider::OptionsRegistry;
pub trait OptionsRegistryBuilder<T: OptionsRegistry> {
fn add_directories(&mut self, directories: &[impl AsRef<Path>]) -> Result<&Self, String>;
fn add_directory(&mut self, directory: impl AsRef<Path>) -> Result<&Self, String>;
fn with_options(&mut self, options: BuilderOptions) -> Result<&Self, String>;
fn with_schema(&mut self, schema_path: impl AsRef<Path>) -> Result<&Self, String>;
fn build(&mut self) -> Result<T, String>;
}