import { ProjectScopeConfig } from "../../db/manage/scope-definitions.js";
import { TaskMetadataConfig } from "../../types/utility.js";
import { AgentsRunDatabaseClient } from "../../db/runtime/runtime-client.js";
import "../../types/index.js";
import "../../index.js";
import { TaskInsert, TaskSelect } from "../../types/entities.js";

//#region src/data-access/runtime/tasks.d.ts
declare const createTask: (db: AgentsRunDatabaseClient) => (params: TaskInsert) => Promise<{
  id: string;
  createdAt: string;
  updatedAt: string;
  tenantId: string;
  projectId: string;
  metadata: TaskMetadataConfig | null;
  agentId: string;
  subAgentId: string;
  ref: {
    type: "commit" | "tag" | "branch";
    name: string;
    hash: string;
  } | null;
  status: string;
  contextId: string;
}>;
declare const getTask: (db: AgentsRunDatabaseClient) => (params: {
  id: string;
  scopes: ProjectScopeConfig;
}) => Promise<TaskSelect | null>;
declare const updateTask: (db: AgentsRunDatabaseClient) => (params: {
  taskId: string;
  scopes: ProjectScopeConfig;
  data: {
    status?: string;
    metadata?: any;
  };
}) => Promise<{
  createdAt: string;
  updatedAt: string;
  contextId: string;
  ref: {
    type: "commit" | "tag" | "branch";
    name: string;
    hash: string;
  } | null;
  status: string;
  metadata: TaskMetadataConfig | null;
  subAgentId: string;
  agentId: string;
  projectId: string;
  tenantId: string;
  id: string;
}>;
declare const listTaskIdsByContextId: (db: AgentsRunDatabaseClient) => (params: {
  contextId: string;
  scopes: ProjectScopeConfig;
}) => Promise<string[]>;
//#endregion
export { createTask, getTask, listTaskIdsByContextId, updateTask };