import { SearchObjectsArgs, GetObjectDefinitionArgs, LoadPackagesArgs, SearchProceduresArgs, SearchFieldsArgs, SearchControlsArgs, SearchDataItemsArgs, SearchObjectsResult, GetObjectDefinitionResult, LoadPackagesResult, ListPackagesResult, SearchProceduresResult, SearchFieldsResult, SearchControlsResult, SearchDataItemsResult } from '../types/mcp-types'; import { OptimizedSymbolDatabase } from '../core/symbol-database'; import { ALPackageManager } from '../core/package-manager'; export declare class ALMCPTools { private database; private packageManager; constructor(database: OptimizedSymbolDatabase, packageManager: ALPackageManager); /** * Check if database is empty and return guidance message if needed */ private checkDatabaseLoaded; /** * Search AL objects across all loaded packages */ searchObjects(args: SearchObjectsArgs): Promise; /** * Get complete object definition with all metadata */ getObjectDefinition(args: GetObjectDefinitionArgs): Promise; /** * Find references to a target object or field */ findReferences(args: any): Promise; /** * Build summary statistics for field references */ private buildFieldReferenceSummary; /** * Load AL packages from specified path */ loadPackages(args: LoadPackagesArgs): Promise; /** * List currently loaded packages */ listPackages(): Promise; /** * Auto-discover .alpackages directories */ autoDiscoverPackages(rootPath: string): Promise; /** * Get database statistics */ getDatabaseStats(): Promise<{ totalObjects: number; objectsByType: Record; packages: number; lastIndexTime: number; }>; /** * Search objects by business domain */ searchByDomain(domain: string, objectTypes?: string[]): Promise; /** * Get object extensions (page extensions, table extensions, etc.) */ getObjectExtensions(baseObjectName: string): Promise; /** * Unified search for object members (procedures, fields, controls, dataitems) */ searchObjectMembers(args: { objectName: string; objectType?: string; memberType: 'procedures' | 'fields' | 'controls' | 'dataitems'; pattern?: string; limit?: number; offset?: number; includeDetails?: boolean; }): Promise; /** * Search procedures within a specific object */ searchProcedures(args: SearchProceduresArgs): Promise; /** * Search fields within a specific table */ searchFields(args: SearchFieldsArgs): Promise; /** * Search controls within a specific page */ searchControls(args: SearchControlsArgs): Promise; /** * Search data items within reports, queries, or xmlports */ searchDataItems(args: SearchDataItemsArgs): Promise; /** * Get intelligent summary of an object with smart procedure categorization */ getObjectSummary(objectName: string, objectType?: string): Promise<{ object: any; summary: { name: string; type: string; totalProcedures: number; procedureCategories: { [category: string]: { count: number; examples: string[]; }; }; keyProcedures: string[]; description: string; }; executionTimeMs: number; }>; } //# sourceMappingURL=mcp-tools.d.ts.map