import { Server } from '@modelcontextprotocol/sdk/server/index.js';
/**
 * ResourceManager is a centralized manager for MCP resources.
 * It provides a simpler interface for registering resources and templates with the MCP server.
 */
export declare class ResourceManager {
    private resources;
    private resourceTemplates;
    private readHandlers;
    constructor();
    /**
     * Adds a resource to the manager
     * @param resource The resource definition
     */
    addResource(resource: {
        uri: string;
        name: string;
        description?: string;
        mimeType?: string;
    }): void;
    /**
     * Adds multiple resources to the manager
     * @param resources Array of resource definitions
     */
    addResources(resources: Array<{
        uri: string;
        name: string;
        description?: string;
        mimeType?: string;
    }>): void;
    /**
     * Adds a resource template to the manager
     * @param template The resource template definition
     */
    addResourceTemplate(template: {
        uriTemplate: string;
        name: string;
        description?: string;
        mimeType?: string;
    }): void;
    /**
     * Adds multiple resource templates to the manager
     * @param templates Array of resource template definitions
     */
    addResourceTemplates(templates: Array<{
        uriTemplate: string;
        name: string;
        description?: string;
        mimeType?: string;
    }>): void;
    /**
     * Registers a handler for resource reads based on a URI pattern
     * @param pattern A regular expression to match URIs
     * @param handler A function that handles resource requests matching the pattern
     */
    registerReadHandler(pattern: RegExp, handler: (params: string[]) => Promise<any>): void;
    /**
     * Registers all resources and handlers with the MCP server
     * @param server The MCP server instance
     */
    registerWithServer(server: Server): void;
}
export declare const resourceManager: ResourceManager;
