import { ISecurityManager, ExtendedToolCallEvent, ExtendedSecurityConfig, // Use renamed type ExtendedUserAuthInfo } from './types'; import { Tool } from '../types'; type SecurityConfig = ExtendedSecurityConfig; type UserAuthInfo = ExtendedUserAuthInfo; export declare class SecurityManager implements ISecurityManager { private config; private eventEmitter; private authManager; private rateLimitManager; private accessControlManager; private argumentSanitizer; private debug; private logger; private _destroyed; constructor(config?: Partial, secretKeyOrDebug?: string | boolean); getConfig(): SecurityConfig; updateConfig(configUpdate: Partial): void; authenticateUser(accessToken?: string): Promise; createAccessToken(userInfo: Omit, expiresIn?: string | number): string; checkToolAccessAndArgs(tool: Tool, // Use base Tool type from core userInfo: UserAuthInfo | null, // Use extended UserAuthInfo args?: any): Promise; private _findRateLimit; logToolCall(event: ExtendedToolCallEvent): void; isDebugEnabled(): boolean; setDebugMode(debug: boolean): void; clearTokenCache(): void; clearRateLimitCounters(userId?: string): void; on(event: string, handler: (event: any) => void): ISecurityManager; off(event: string, handler: (event: any) => void): ISecurityManager; destroy(): void; } export {};