/**
 * @fileoverview Encapsulates the registration of all resource definitions with an McpServer.
 * @module src/mcp-server/resources/resource-registration
 */
import { type McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import type { AnyResourceDefinition } from '../../mcp-server/resources/utils/resourceDefinition.js';
import { type ResourceHandlerFactoryServices } from '../../mcp-server/resources/utils/resourceHandlerFactory.js';
export declare class ResourceRegistry {
    private resourceDefs;
    private services;
    /** Tracks registered resource names to detect duplicates at startup. */
    private readonly registeredNames;
    constructor(resourceDefs: AnyResourceDefinition[], services: ResourceHandlerFactoryServices);
    /**
     * Registers all resolved resource definitions with the provided McpServer instance.
     */
    registerAll(server: McpServer): Promise<void>;
    /** Throws at startup if a resource with the same name was already registered. */
    private assertUniqueName;
    private registerResource;
}
//# sourceMappingURL=resource-registration.d.ts.map