import { ProjectScopeConfig } from "../../db/manage/scope-definitions.js";
import "../../types/utility.js";
import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
import { AgentsManageDatabaseClient } from "../../db/manage/manage-client.js";
import { AgentDatasetRelationInsert, AgentDatasetRelationSelect, AgentEvaluatorRelationInsert, AgentEvaluatorRelationSelect, DatasetInsert, DatasetItemInsert, DatasetItemSelect, DatasetItemUpdate, DatasetRunConfigAgentRelationInsert, DatasetRunConfigAgentRelationSelect, DatasetRunConfigEvaluatorRelationInsert, DatasetRunConfigEvaluatorRelationSelect, DatasetRunConfigInsert, DatasetRunConfigSelect, DatasetRunConfigUpdate, DatasetSelect, DatasetUpdate, EvaluationJobConfigEvaluatorRelationInsert, EvaluationJobConfigEvaluatorRelationSelect, EvaluationJobConfigInsert, EvaluationJobConfigSelect, EvaluationRunConfigEvaluationSuiteConfigRelationInsert, EvaluationRunConfigEvaluationSuiteConfigRelationSelect, EvaluationRunConfigInsert, EvaluationRunConfigSelect, EvaluationRunConfigUpdate, EvaluationRunConfigWithSuiteConfigs, EvaluationSuiteConfigEvaluatorRelationInsert, EvaluationSuiteConfigEvaluatorRelationSelect, EvaluationSuiteConfigInsert, EvaluationSuiteConfigSelect, EvaluationSuiteConfigUpdate, EvaluatorInsert, EvaluatorSelect, EvaluatorUpdate } from "../../types/entities.js";

//#region src/data-access/manage/evalConfig.d.ts
declare const getDatasetById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
}) => Promise<DatasetSelect | null>;
declare const listDatasets: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<DatasetSelect[]>;
declare const createDataset: (db: AgentsManageDatabaseClient) => (data: DatasetInsert) => Promise<DatasetSelect>;
declare const updateDataset: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
  data: DatasetUpdate;
}) => Promise<DatasetSelect | null>;
declare const deleteDataset: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
}) => Promise<boolean>;
declare const getDatasetItemById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetItemId: string;
  };
}) => Promise<DatasetItemSelect | null>;
declare const listDatasetItems: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
}) => Promise<DatasetItemSelect[]>;
declare const createDatasetItem: (db: AgentsManageDatabaseClient) => (data: DatasetItemInsert) => Promise<DatasetItemSelect>;
declare const createDatasetItems: (db: AgentsManageDatabaseClient) => (data: DatasetItemInsert[]) => Promise<DatasetItemSelect[]>;
declare const updateDatasetItem: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetItemId: string;
  };
  data: DatasetItemUpdate;
}) => Promise<DatasetItemSelect | null>;
declare const deleteDatasetItem: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetItemId: string;
  };
}) => Promise<boolean>;
declare const deleteDatasetItemsByDataset: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
}) => Promise<number>;
declare const getDatasetRunConfigById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
}) => Promise<DatasetRunConfigSelect | null>;
declare const listDatasetRunConfigs: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<DatasetRunConfigSelect[]>;
declare const createDatasetRunConfig: (db: AgentsManageDatabaseClient) => (data: DatasetRunConfigInsert) => Promise<DatasetRunConfigSelect>;
declare const updateDatasetRunConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
  data: DatasetRunConfigUpdate;
}) => Promise<DatasetRunConfigSelect | null>;
declare const deleteDatasetRunConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
}) => Promise<boolean>;
declare const getDatasetRunConfigAgentRelations: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
}) => Promise<DatasetRunConfigAgentRelationSelect[]>;
declare const createDatasetRunConfigAgentRelation: (db: AgentsManageDatabaseClient) => (data: DatasetRunConfigAgentRelationInsert) => Promise<DatasetRunConfigAgentRelationSelect>;
declare const deleteDatasetRunConfigAgentRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
    agentId: string;
  };
}) => Promise<boolean>;
declare const getDatasetRunConfigEvaluatorRelations: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
}) => Promise<DatasetRunConfigEvaluatorRelationSelect[]>;
declare const createDatasetRunConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (data: DatasetRunConfigEvaluatorRelationInsert) => Promise<DatasetRunConfigEvaluatorRelationSelect>;
declare const deleteDatasetRunConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
    evaluatorId: string;
  };
}) => Promise<boolean>;
declare const deleteDatasetRunConfigEvaluatorRelationsByConfigId: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunConfigId: string;
  };
}) => Promise<void>;
declare const getEvaluatorById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
}) => Promise<EvaluatorSelect | null>;
declare const listEvaluators: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<EvaluatorSelect[]>;
declare const getEvaluatorsByIds: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
  evaluatorIds: string[];
}) => Promise<EvaluatorSelect[]>;
declare const createEvaluator: (db: AgentsManageDatabaseClient) => (data: EvaluatorInsert) => Promise<EvaluatorSelect>;
declare const updateEvaluator: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
  data: EvaluatorUpdate;
}) => Promise<EvaluatorSelect | null>;
declare const deleteEvaluator: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
}) => Promise<boolean>;
declare const getEvaluationSuiteConfigById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationSuiteConfigId: string;
  };
}) => Promise<EvaluationSuiteConfigSelect | null>;
declare const listEvaluationSuiteConfigs: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<EvaluationSuiteConfigSelect[]>;
declare const createEvaluationSuiteConfig: (db: AgentsManageDatabaseClient) => (data: EvaluationSuiteConfigInsert) => Promise<EvaluationSuiteConfigSelect>;
declare const updateEvaluationSuiteConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationSuiteConfigId: string;
  };
  data: EvaluationSuiteConfigUpdate;
}) => Promise<EvaluationSuiteConfigSelect | null>;
declare const deleteEvaluationSuiteConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationSuiteConfigId: string;
  };
}) => Promise<boolean>;
declare const getEvaluationSuiteConfigEvaluatorRelations: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationSuiteConfigId: string;
  };
}) => Promise<EvaluationSuiteConfigEvaluatorRelationSelect[]>;
declare const createEvaluationSuiteConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (data: EvaluationSuiteConfigEvaluatorRelationInsert) => Promise<EvaluationSuiteConfigEvaluatorRelationSelect>;
declare const deleteEvaluationSuiteConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationSuiteConfigId: string;
    evaluatorId: string;
  };
}) => Promise<boolean>;
declare const deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
}) => Promise<number>;
declare const getEvaluationRunConfigById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationRunConfigId: string;
  };
}) => Promise<EvaluationRunConfigSelect | null>;
declare const listEvaluationRunConfigs: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<EvaluationRunConfigSelect[]>;
declare const listEvaluationRunConfigsWithSuiteConfigs: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<EvaluationRunConfigWithSuiteConfigs[]>;
declare const createEvaluationRunConfig: (db: AgentsManageDatabaseClient) => (data: EvaluationRunConfigInsert) => Promise<EvaluationRunConfigSelect>;
declare const updateEvaluationRunConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationRunConfigId: string;
  };
  data: EvaluationRunConfigUpdate;
}) => Promise<EvaluationRunConfigSelect | null>;
declare const deleteEvaluationRunConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationRunConfigId: string;
  };
}) => Promise<boolean>;
declare const getEvaluationRunConfigEvaluationSuiteConfigRelations: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationRunConfigId: string;
  };
}) => Promise<EvaluationRunConfigEvaluationSuiteConfigRelationSelect[]>;
declare const createEvaluationRunConfigEvaluationSuiteConfigRelation: (db: AgentsManageDatabaseClient) => (data: EvaluationRunConfigEvaluationSuiteConfigRelationInsert) => Promise<EvaluationRunConfigEvaluationSuiteConfigRelationSelect>;
declare const deleteEvaluationRunConfigEvaluationSuiteConfigRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationRunConfigId: string;
    evaluationSuiteConfigId: string;
  };
}) => Promise<boolean>;
declare const getEvaluationJobConfigById: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationJobConfigId: string;
  };
}) => Promise<EvaluationJobConfigSelect | null>;
declare const listEvaluationJobConfigs: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
}) => Promise<EvaluationJobConfigSelect[]>;
declare const createEvaluationJobConfig: (db: AgentsManageDatabaseClient) => (data: EvaluationJobConfigInsert) => Promise<EvaluationJobConfigSelect>;
declare const deleteEvaluationJobConfig: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationJobConfigId: string;
  };
}) => Promise<boolean>;
declare const getEvaluationJobConfigEvaluatorRelations: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationJobConfigId: string;
  };
}) => Promise<EvaluationJobConfigEvaluatorRelationSelect[]>;
declare const createEvaluationJobConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (data: EvaluationJobConfigEvaluatorRelationInsert) => Promise<EvaluationJobConfigEvaluatorRelationSelect>;
declare const deleteEvaluationJobConfigEvaluatorRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluationJobConfigId: string;
    evaluatorId: string;
  };
}) => Promise<boolean>;
declare const deleteEvaluationJobConfigEvaluatorRelationsByEvaluator: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
}) => Promise<number>;
declare const linkDatasetRunToEvaluationJobConfig: (db: AgentsRunDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetRunId: string;
  };
  evaluationJobConfigId: string;
}) => Promise<void>;
declare const getAgentDatasetRelationsByAgent: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    agentId: string;
  };
}) => Promise<AgentDatasetRelationSelect[]>;
declare const getAgentDatasetRelationsByDataset: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    datasetId: string;
  };
}) => Promise<AgentDatasetRelationSelect[]>;
declare const createAgentDatasetRelation: (db: AgentsManageDatabaseClient) => (data: AgentDatasetRelationInsert) => Promise<AgentDatasetRelationSelect>;
declare const deleteAgentDatasetRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    agentId: string;
    datasetId: string;
  };
}) => Promise<boolean>;
declare const getAgentEvaluatorRelationsByAgent: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    agentId: string;
  };
}) => Promise<AgentEvaluatorRelationSelect[]>;
declare const getAgentEvaluatorRelationsByEvaluator: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    evaluatorId: string;
  };
}) => Promise<AgentEvaluatorRelationSelect[]>;
declare const createAgentEvaluatorRelation: (db: AgentsManageDatabaseClient) => (data: AgentEvaluatorRelationInsert) => Promise<AgentEvaluatorRelationSelect>;
declare const deleteAgentEvaluatorRelation: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig & {
    agentId: string;
    evaluatorId: string;
  };
}) => Promise<boolean>;
declare const listDatasetsForAgent: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
  agentId: string;
}) => Promise<DatasetSelect[]>;
declare const listEvaluatorsForAgent: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
  agentId: string;
}) => Promise<EvaluatorSelect[]>;
declare const getAgentIdsForEvaluators: (db: AgentsManageDatabaseClient) => (params: {
  scopes: ProjectScopeConfig;
  evaluatorIds: string[];
}) => Promise<Map<string, string[]>>;
//#endregion
export { createAgentDatasetRelation, createAgentEvaluatorRelation, createDataset, createDatasetItem, createDatasetItems, createDatasetRunConfig, createDatasetRunConfigAgentRelation, createDatasetRunConfigEvaluatorRelation, createEvaluationJobConfig, createEvaluationJobConfigEvaluatorRelation, createEvaluationRunConfig, createEvaluationRunConfigEvaluationSuiteConfigRelation, createEvaluationSuiteConfig, createEvaluationSuiteConfigEvaluatorRelation, createEvaluator, deleteAgentDatasetRelation, deleteAgentEvaluatorRelation, deleteDataset, deleteDatasetItem, deleteDatasetItemsByDataset, deleteDatasetRunConfig, deleteDatasetRunConfigAgentRelation, deleteDatasetRunConfigEvaluatorRelation, deleteDatasetRunConfigEvaluatorRelationsByConfigId, deleteEvaluationJobConfig, deleteEvaluationJobConfigEvaluatorRelation, deleteEvaluationJobConfigEvaluatorRelationsByEvaluator, deleteEvaluationRunConfig, deleteEvaluationRunConfigEvaluationSuiteConfigRelation, deleteEvaluationSuiteConfig, deleteEvaluationSuiteConfigEvaluatorRelation, deleteEvaluationSuiteConfigEvaluatorRelationsByEvaluator, deleteEvaluator, getAgentDatasetRelationsByAgent, getAgentDatasetRelationsByDataset, getAgentEvaluatorRelationsByAgent, getAgentEvaluatorRelationsByEvaluator, getAgentIdsForEvaluators, getDatasetById, getDatasetItemById, getDatasetRunConfigAgentRelations, getDatasetRunConfigById, getDatasetRunConfigEvaluatorRelations, getEvaluationJobConfigById, getEvaluationJobConfigEvaluatorRelations, getEvaluationRunConfigById, getEvaluationRunConfigEvaluationSuiteConfigRelations, getEvaluationSuiteConfigById, getEvaluationSuiteConfigEvaluatorRelations, getEvaluatorById, getEvaluatorsByIds, linkDatasetRunToEvaluationJobConfig, listDatasetItems, listDatasetRunConfigs, listDatasets, listDatasetsForAgent, listEvaluationJobConfigs, listEvaluationRunConfigs, listEvaluationRunConfigsWithSuiteConfigs, listEvaluationSuiteConfigs, listEvaluators, listEvaluatorsForAgent, updateDataset, updateDatasetItem, updateDatasetRunConfig, updateEvaluationRunConfig, updateEvaluationSuiteConfig, updateEvaluator };