import { HttpPlugin, HttpApp } from '../types'; import { SecurityMiddleware, SecurityConfig } from '../security'; import { Logger } from '../../../common'; export interface SecurityPluginOptions extends SecurityConfig { exposeEndpoints?: boolean; endpointsPath?: string; enableMonitoring?: boolean; onViolation?: (violation: any) => void; } export declare class SecurityPlugin implements HttpPlugin { readonly name = "security"; private securityMiddleware; config: SecurityPluginOptions; private startTime; private violationCount; private monitoringInterval?; private logger; constructor(options?: Partial, logger?: Logger); install(app: HttpApp, options?: SecurityPluginOptions): Promise; uninstall(app: HttpApp): void; beforeStart(app: HttpApp): void; afterStart(app: HttpApp): void; beforeStop(app: HttpApp): void; afterStop(app: HttpApp): void; gracefulShutdown(app: HttpApp, signals?: string[]): Promise; getSecurityMiddleware(): SecurityMiddleware; getSecurityStats(): any; getConfig(): SecurityPluginOptions; updateConfig(newConfig: Partial): void; getSecurityViolations(): import("../security").SecurityViolation[]; clearSecurityViolations(): void; private registerSecurityEndpoints; private removeSecurityEndpoints; private enableSecurityMonitoring; } export default SecurityPlugin;