import { z } from "zod";
import { McpToolResponse } from "./mcp.js";
export declare enum BaseErrorCode {
    UNAUTHORIZED = "UNAUTHORIZED",
    RATE_LIMITED = "RATE_LIMITED",
    VALIDATION_ERROR = "VALIDATION_ERROR",
    INTERNAL_ERROR = "INTERNAL_ERROR",
    NOT_FOUND = "NOT_FOUND",
    PERMISSION_DENIED = "PERMISSION_DENIED"
}
export declare enum ProjectErrorCode {
    DUPLICATE_NAME = "DUPLICATE_NAME",
    INVALID_STATUS = "INVALID_STATUS",
    PROJECT_NOT_FOUND = "PROJECT_NOT_FOUND",
    DEPENDENCY_CYCLE = "DEPENDENCY_CYCLE",
    INVALID_DEPENDENCY = "INVALID_DEPENDENCY"
}
export declare enum TaskErrorCode {
    TASK_NOT_FOUND = "TASK_NOT_FOUND",
    INVALID_STATUS = "INVALID_STATUS",
    INVALID_PRIORITY = "INVALID_PRIORITY",
    INVALID_DEPENDENCY = "INVALID_DEPENDENCY",
    DEPENDENCY_CYCLE = "DEPENDENCY_CYCLE"
}
export declare enum NoteErrorCode {
    INVALID_TAGS = "INVALID_TAGS",
    NOTE_NOT_FOUND = "NOTE_NOT_FOUND"
}
export declare enum LinkErrorCode {
    INVALID_URL = "INVALID_URL",
    LINK_NOT_FOUND = "LINK_NOT_FOUND",
    DUPLICATE_URL = "DUPLICATE_URL"
}
export declare enum MemberErrorCode {
    INVALID_ROLE = "INVALID_ROLE",
    MEMBER_NOT_FOUND = "MEMBER_NOT_FOUND",
    DUPLICATE_MEMBER = "DUPLICATE_MEMBER"
}
export declare enum SkillErrorCode {
    SKILL_NOT_FOUND = "SKILL_NOT_FOUND",
    DEPENDENCY_NOT_FOUND = "DEPENDENCY_NOT_FOUND",
    MISSING_PARAMETER = "MISSING_PARAMETER",
    CIRCULAR_DEPENDENCY = "CIRCULAR_DEPENDENCY",
    SKILL_EXECUTION_ERROR = "SKILL_EXECUTION_ERROR"
}
export declare enum DatabaseExportImportErrorCode {
    EXPORT_ERROR = "EXPORT_ERROR",
    IMPORT_ERROR = "IMPORT_ERROR",
    FILE_ACCESS_ERROR = "FILE_ACCESS_ERROR",
    INVALID_EXPORT_FORMAT = "INVALID_EXPORT_FORMAT",
    RESET_FAILED = "RESET_FAILED",
    INVALID_CONFIRMATION_CODE = "INVALID_CONFIRMATION_CODE",
    PERMISSION_DENIED = "PERMISSION_DENIED"
}
export declare class McpError extends Error {
    code: BaseErrorCode | ProjectErrorCode | TaskErrorCode | NoteErrorCode | LinkErrorCode | MemberErrorCode | SkillErrorCode | DatabaseExportImportErrorCode;
    details?: Record<string, unknown> | undefined;
    constructor(code: BaseErrorCode | ProjectErrorCode | TaskErrorCode | NoteErrorCode | LinkErrorCode | MemberErrorCode | SkillErrorCode | DatabaseExportImportErrorCode, message: string, details?: Record<string, unknown> | undefined);
    toResponse(): McpToolResponse;
}
export declare const ErrorSchema: z.ZodObject<{
    code: z.ZodString;
    message: z.ZodString;
    details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    code: string;
    message: string;
    details?: Record<string, unknown> | undefined;
}, {
    code: string;
    message: string;
    details?: Record<string, unknown> | undefined;
}>;
export type ErrorResponse = z.infer<typeof ErrorSchema>;
