import { SecurityConfig, ConsentType, Operation } from '../types/security.js'; interface Resource { id: string | number; type: string; [key: string]: unknown; } interface Context { userId?: string | number; operation?: string; [key: string]: unknown; } interface ExecutionResult { success: boolean; result?: T; error?: Error; } interface AuditLogEntry { timestamp: string; type: string; operation: string; status: 'success' | 'failure'; details: Record; } export declare class SecurityManager { private readonly consentManager; private readonly privacyManager; private readonly toolController; constructor(config: SecurityConfig); authorizeResourceAccess(resource: Resource, context?: Context): Promise; authorizeToolExecution(tool: string, params: Record): Promise; executeToolSafely(tool: string, params: Record, executor: () => Promise): Promise>; maskSensitiveData>(data: T): T; requestConsent(operation: Operation, context?: Context): Promise; canShareExternally(resource: Resource): Promise; hasConsent(type: ConsentType): boolean; getConsentAuditLog(): Array; getToolExecutionLog(): Array; } export {};