package com.optix.android.ai;

import com.optix.android.ai.providers.AiProviderFactory;
import com.optix.android.tools.engine.ToolExecutionEngine;
import com.optix.android.tools.registry.ToolRegistry;
import dagger.internal.DaggerGenerated;
import dagger.internal.Factory;
import dagger.internal.QualifierMetadata;
import dagger.internal.ScopeMetadata;
import javax.annotation.processing.Generated;
import javax.inject.Provider;

@ScopeMetadata("javax.inject.Singleton")
@QualifierMetadata
@DaggerGenerated
@Generated(
    value = "dagger.internal.codegen.ComponentProcessor",
    comments = "https://dagger.dev"
)
@SuppressWarnings({
    "unchecked",
    "rawtypes",
    "KotlinInternal",
    "KotlinInternalInJava",
    "cast",
    "deprecation"
})
public final class AiBridge_Factory implements Factory<AiBridge> {
  private final Provider<ToolRegistry> toolRegistryProvider;

  private final Provider<ToolExecutionEngine> toolEngineProvider;

  private final Provider<AiProviderFactory> providerFactoryProvider;

  private final Provider<ChainParser> chainParserProvider;

  public AiBridge_Factory(Provider<ToolRegistry> toolRegistryProvider,
      Provider<ToolExecutionEngine> toolEngineProvider,
      Provider<AiProviderFactory> providerFactoryProvider,
      Provider<ChainParser> chainParserProvider) {
    this.toolRegistryProvider = toolRegistryProvider;
    this.toolEngineProvider = toolEngineProvider;
    this.providerFactoryProvider = providerFactoryProvider;
    this.chainParserProvider = chainParserProvider;
  }

  @Override
  public AiBridge get() {
    return newInstance(toolRegistryProvider.get(), toolEngineProvider.get(), providerFactoryProvider.get(), chainParserProvider.get());
  }

  public static AiBridge_Factory create(Provider<ToolRegistry> toolRegistryProvider,
      Provider<ToolExecutionEngine> toolEngineProvider,
      Provider<AiProviderFactory> providerFactoryProvider,
      Provider<ChainParser> chainParserProvider) {
    return new AiBridge_Factory(toolRegistryProvider, toolEngineProvider, providerFactoryProvider, chainParserProvider);
  }

  public static AiBridge newInstance(ToolRegistry toolRegistry, ToolExecutionEngine toolEngine,
      AiProviderFactory providerFactory, ChainParser chainParser) {
    return new AiBridge(toolRegistry, toolEngine, providerFactory, chainParser);
  }
}
