import { EventEmitter } from 'events'; interface SloopConfig { javaPath?: string; sloopLibPath?: string; storageRoot?: string; workDir?: string; autoInitialize?: boolean; standaloneRuleConfig?: Record; }>; } export declare class SloopBridge extends EventEmitter { private process; private connected; private messageId; private readonly pendingRequests; private messageBuffer; private readonly config; private readonly projectRoot; private readonly issueCollector; constructor(packageRoot?: string, config?: SloopConfig); private findJavaPath; private findSloopLibPath; connect(): Promise; private setupMessageHandlers; private processMessages; private handleMessage; private handleResponse; private handleNotification; private onRaiseIssues; private onRaiseHotspots; private onAnalysisReadiness; private handleClientRequest; private sendResponse; sendRequest(method: string, params?: any): Promise; sendNotification(method: string, params?: any): void; private getPluginPaths; private initialize; private rejectAllPending; isConnected(): boolean; disconnect(): Promise; /** * List all standalone rule definitions from SLOOP. * Returns a map of rule key -> rule definition. */ listAllStandaloneRulesDefinitions(): Promise; getStandaloneRuleDetails(ruleKey: string): Promise; updateStandaloneRulesConfiguration(ruleConfigByKey: Record; }>): Promise; /** * Wait for a scope to become ready for analysis. * SLOOP emits didChangeAnalysisReadiness after processing addConfigurationScope. */ waitForScopeReady(scopeId: string, timeoutMs?: number): Promise; addConfigurationScope(scopeId: string, params?: { name?: string; parentId?: string; }): void; analyzeFilesAndTrack(configScopeId: string, filePaths: string[]): Promise; } export {}; //# sourceMappingURL=sloop-bridge.d.ts.map