import type { ComponentEntry, ComponentsIndex, GlobalIndex, IconEntry, IconsIndex, TokensIndex } from './types.js'; /** * Resolve the path to the MCP data directory * When compiled: Server is at dist/libs/core/src/bin/mcp-server/ * When compiled: MCP data is at dist/libs/core/src/generated/mcp/ * @returns Absolute path to MCP data directory */ export declare function getMcpDataPath(): string; /** * Read the package version from package.json at runtime * @returns Package version string or default version */ export declare function getPackageVersion(): Promise; /** * Load the components index * @returns Components index or null if failed */ export declare function loadComponentsIndex(): Promise; /** * Load the icons index * @returns Icons index or null if failed */ export declare function loadIconsIndex(): Promise; /** * Load the global index * @returns Global index or null if failed */ export declare function loadGlobalIndex(): Promise; /** * Load the tokens index * @returns Tokens index or null if failed */ export declare function loadTokensIndex(): Promise; /** * Normalize component name for matching * Handles both 'gds-button' and 'button' formats * @param name - Component name to normalize * @returns Normalized component name with gds- prefix * * @example * normalizeComponentName('button') // => 'gds-button' * normalizeComponentName('gds-button') // => 'gds-button' * normalizeComponentName('icon-arrow') // => 'gds-icon-arrow' */ export declare function normalizeComponentName(name: string): string; /** * Find a component by name with flexible matching * @param name - Component name to search for * @param components - Array of component entries * @returns Matching component or null if not found * * @example * findComponent('button', components) // Finds gds-button * findComponent('gds-button', components) // Exact match */ export declare function findComponent(name: string, components: ComponentEntry[]): ComponentEntry | null; /** * Find an icon by name with flexible matching * @param name - Icon name to search for * @param icons - Array of icon entries * @returns Matching icon or null if not found * * @example * findIcon('arrow', icons) // Finds gds-icon-arrow * findIcon('icon-arrow', icons) // Finds gds-icon-arrow */ export declare function findIcon(name: string, icons: IconEntry[]): IconEntry | null; /** * Read a markdown file from the MCP data directory * @param relativePath - Path relative to MCP data directory * @returns File contents or null if failed * * @example * readMcpFile('button/api.md') * readMcpFile('guides/angular.md') */ export declare function readMcpFile(relativePath: string): Promise; /** * Build a resource URI for a component/icon documentation file * @param category - Resource category * @param name - Component/icon/guide name * @param docType - Optional documentation type * @returns Resource URI * * @example * buildResourceUri('components', 'button', 'api') // => 'green://components/button/api' * buildResourceUri('guides', 'angular') // => 'green://guides/angular' */ export declare function buildResourceUri(category: 'components' | 'icons' | 'guides' | 'concepts', name: string, docType?: string): string; /** * Parse a resource URI into its components * @param uri - Resource URI to parse * @returns Parsed URI components or null if invalid * * @example * parseResourceUri('green://components/button/api') * // => { category: 'components', name: 'button', docType: 'api' } */ export declare function parseResourceUri(uri: string): { category: string; name: string; docType?: string; } | null;