/**
 * MCPService - Model Context Protocol Server for Baasix
 *
 * This service provides MCP tools that call Baasix HTTP routes internally,
 * ensuring all route-level validation, permission checks, and cache
 * invalidation are applied consistently.
 *
 * Enable via environment variable: MCP_ENABLED=true
 * Access at: http://localhost:8056/mcp (or custom MCP_PATH)
 *
 * Note: @ts-nocheck is used because the MCP SDK + Zod combination causes
 * TypeScript to hang during compilation due to complex generic type inference.
 * The explicit type annotations are kept for documentation and IDE support.
 */
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
/**
 * MCPAccountability mirrors the shape built by the auth middleware.
 * Used for session management and passed as bearer token for route calls.
 *
 * Shape: { user: { id, email, isAdmin, role, ... }, role: { id, name, isTenantSpecific }, permissions[], tenant, ipaddress, token }
 */
interface MCPAccountability {
    user: {
        id: string | number;
        email?: string;
        firstName?: string;
        lastName?: string;
        isAdmin: boolean;
        role: string;
        [key: string]: any;
    } | null;
    role: {
        id: string | number;
        name: string;
        isTenantSpecific?: boolean;
        description?: string;
    } | null;
    permissions: any[];
    tenant: string | number | null;
    ipaddress: string;
    token?: string;
}
/**
 * Store accountability info for an MCP session
 */
export declare function setMCPSession(sessionId: string, accountability: MCPAccountability): void;
/**
 * Remove an MCP session
 */
export declare function removeMCPSession(sessionId: string): void;
/**
 * Create and configure the MCP server with all Baasix tools
 */
export declare function createMCPServer(): McpServer;
declare const _default: {
    createMCPServer: typeof createMCPServer;
    setMCPSession: typeof setMCPSession;
    removeMCPSession: typeof removeMCPSession;
};
export default _default;
//# sourceMappingURL=MCPService.d.ts.map