package com.optix.android.domain.usecase;

import com.optix.android.domain.repository.AuditLogRepository;
import com.optix.android.domain.repository.ToolRepository;
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
@QualifierMetadata
@DaggerGenerated
@Generated(
    value = "dagger.internal.codegen.ComponentProcessor",
    comments = "https://dagger.dev"
)
@SuppressWarnings({
    "unchecked",
    "rawtypes",
    "KotlinInternal",
    "KotlinInternalInJava",
    "cast",
    "deprecation"
})
public final class RunToolUseCase_Factory implements Factory<RunToolUseCase> {
  private final Provider<ToolRepository> toolRepositoryProvider;

  private final Provider<AuditLogRepository> auditLogRepositoryProvider;

  private final Provider<ToolRegistry> toolRegistryProvider;

  public RunToolUseCase_Factory(Provider<ToolRepository> toolRepositoryProvider,
      Provider<AuditLogRepository> auditLogRepositoryProvider,
      Provider<ToolRegistry> toolRegistryProvider) {
    this.toolRepositoryProvider = toolRepositoryProvider;
    this.auditLogRepositoryProvider = auditLogRepositoryProvider;
    this.toolRegistryProvider = toolRegistryProvider;
  }

  @Override
  public RunToolUseCase get() {
    return newInstance(toolRepositoryProvider.get(), auditLogRepositoryProvider.get(), toolRegistryProvider.get());
  }

  public static RunToolUseCase_Factory create(Provider<ToolRepository> toolRepositoryProvider,
      Provider<AuditLogRepository> auditLogRepositoryProvider,
      Provider<ToolRegistry> toolRegistryProvider) {
    return new RunToolUseCase_Factory(toolRepositoryProvider, auditLogRepositoryProvider, toolRegistryProvider);
  }

  public static RunToolUseCase newInstance(ToolRepository toolRepository,
      AuditLogRepository auditLogRepository, ToolRegistry toolRegistry) {
    return new RunToolUseCase(toolRepository, auditLogRepository, toolRegistry);
  }
}
