import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { Neo4jKnowledge, Neo4jProject, Neo4jTask } from "../../services/neo4j/types.js";
/**
 * Resource URIs for the Atlas MCP resources
 */
export declare const ResourceURIs: {
    PROJECTS: string;
    PROJECT_TEMPLATE: string;
    TASKS: string;
    TASKS_BY_PROJECT: string;
    TASK_TEMPLATE: string;
    KNOWLEDGE: string;
    KNOWLEDGE_BY_PROJECT: string;
    KNOWLEDGE_TEMPLATE: string;
};
/**
 * Resource templates for the Atlas MCP resources
 */
export declare const ResourceTemplates: {
    PROJECT: ResourceTemplate;
    TASK: ResourceTemplate;
    TASKS_BY_PROJECT: ResourceTemplate;
    KNOWLEDGE: ResourceTemplate;
    KNOWLEDGE_BY_PROJECT: ResourceTemplate;
};
/**
 * Project resource response interface
 */
export interface ProjectResource {
    id: string;
    name: string;
    description: string;
    status: string;
    urls: Array<{
        title: string;
        url: string;
    }>;
    completionRequirements: string;
    outputFormat: string;
    taskType: string;
    createdAt: string;
    updatedAt: string;
}
/**
 * Task resource response interface
 */
export interface TaskResource {
    id: string;
    projectId: string;
    title: string;
    description: string;
    priority: string;
    status: string;
    assignedTo: string | null;
    urls: Array<{
        title: string;
        url: string;
    }>;
    tags: string[];
    completionRequirements: string;
    outputFormat: string;
    taskType: string;
    createdAt: string;
    updatedAt: string;
}
/**
 * Knowledge resource response interface
 */
export interface KnowledgeResource {
    id: string;
    projectId: string;
    text: string;
    tags: string[];
    domain: string;
    citations: string[];
    createdAt: string;
    updatedAt: string;
}
/**
 * Convert Neo4j Project to Project Resource
 */
export declare function toProjectResource(project: Neo4jProject): ProjectResource;
/**
 * Convert Neo4j Task (with added assignedToUserId) to Task Resource
 */
export declare function toTaskResource(task: Neo4jTask & {
    assignedToUserId: string | null;
}): TaskResource;
/**
 * Convert Neo4j Knowledge (with added domain/citations) to Knowledge Resource
 */
export declare function toKnowledgeResource(knowledge: Neo4jKnowledge & {
    domain: string | null;
    citations: string[];
}): KnowledgeResource;
