import { z } from "zod";
export interface McpContent {
    [key: string]: unknown;
    type: "text";
    text: string;
}
export interface McpToolResponse {
    [key: string]: unknown;
    content: McpContent[];
    _meta?: Record<string, unknown>;
    isError?: boolean;
}
export declare const ProjectStatus: {
    readonly ACTIVE: "active";
    readonly PENDING: "pending";
    readonly IN_PROGRESS: "in-progress";
    readonly COMPLETED: "completed";
    readonly ARCHIVED: "archived";
};
export declare const TaskStatus: {
    readonly BACKLOG: "backlog";
    readonly TODO: "todo";
    readonly IN_PROGRESS: "in-progress";
    readonly COMPLETED: "completed";
};
export declare const PriorityLevel: {
    readonly LOW: "low";
    readonly MEDIUM: "medium";
    readonly HIGH: "high";
    readonly CRITICAL: "critical";
};
export declare const TaskType: {
    readonly RESEARCH: "research";
    readonly GENERATION: "generation";
    readonly ANALYSIS: "analysis";
    readonly INTEGRATION: "integration";
};
export declare const KnowledgeDomain: {
    readonly TECHNICAL: "technical";
    readonly BUSINESS: "business";
    readonly SCIENTIFIC: "scientific";
};
export interface ProjectResponse {
    id: string;
    name: string;
    description: string;
    status: string;
    urls?: Array<{
        title: string;
        url: string;
    }>;
    completionRequirements: string;
    dependencies?: string[];
    outputFormat: string;
    taskType: string;
    createdAt: string;
    updatedAt: string;
}
export interface TaskResponse {
    id: string;
    projectId: string;
    title: string;
    description: string;
    priority: string;
    status: string;
    assignedTo?: string;
    urls?: Array<{
        title: string;
        url: string;
    }>;
    tags?: string[];
    completionRequirements: string;
    dependencies?: string[];
    outputFormat: string;
    taskType: string;
    createdAt: string;
    updatedAt: string;
}
export interface KnowledgeResponse {
    id: string;
    projectId: string;
    text: string;
    tags?: string[];
    domain: string;
    citations?: string[];
    createdAt: string;
    updatedAt: string;
}
export declare const createProjectStatusEnum: () => z.ZodEnum<[string, ...string[]]>;
export declare const createTaskStatusEnum: () => z.ZodEnum<[string, ...string[]]>;
export declare const createPriorityLevelEnum: () => z.ZodEnum<[string, ...string[]]>;
export declare const createTaskTypeEnum: () => z.ZodEnum<[string, ...string[]]>;
export declare const createKnowledgeDomainEnum: () => z.ZodEnum<[string, ...string[]]>;
export declare enum ResponseFormat {
    FORMATTED = "formatted",
    JSON = "json"
}
export declare function createResponseFormatEnum(): z.ZodNativeEnum<typeof ResponseFormat>;
export declare const ProjectInputSchema: {
    readonly name: z.ZodString;
    readonly description: z.ZodOptional<z.ZodString>;
    readonly status: z.ZodDefault<z.ZodEnum<[string, ...string[]]>>;
};
export declare const UpdateProjectInputSchema: {
    readonly id: z.ZodString;
    readonly updates: z.ZodObject<{
        readonly name: z.ZodOptional<z.ZodString>;
        readonly description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        readonly status: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
    }, "strip", z.ZodTypeAny, {
        status?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
    }, {
        status?: string | undefined;
        name?: string | undefined;
        description?: string | undefined;
    }>;
};
export declare const ProjectIdInputSchema: {
    readonly projectId: z.ZodString;
};
export interface ResourceContent {
    [key: string]: unknown;
    uri: string;
    text: string;
    mimeType?: string;
}
export interface ResourceResponse {
    [key: string]: unknown;
    contents: ResourceContent[];
    _meta?: Record<string, unknown>;
}
export interface PromptMessageContent {
    [key: string]: unknown;
    type: "text";
    text: string;
}
export interface PromptMessage {
    [key: string]: unknown;
    role: "user" | "assistant";
    content: PromptMessageContent;
}
export interface PromptResponse {
    [key: string]: unknown;
    messages: PromptMessage[];
    _meta?: Record<string, unknown>;
}
export declare const createToolResponse: (text: string, isError?: boolean) => McpToolResponse;
export declare const createResourceResponse: (uri: string, text: string, mimeType?: string) => ResourceResponse;
export declare const createPromptResponse: (text: string, role?: "user" | "assistant") => PromptResponse;
