import { WebSocket } from 'ws'; import { pino } from 'pino'; import type { SessionStore } from '../store/session-store.interface.js'; import { Permission } from '../auth/permissions.js'; import type { WSAuthMessage } from '../types/websocket.js'; export declare class WSAuthHandler { private logger; private sessionStore; private apiKeyHandler; constructor(logger: pino.Logger, sessionStore: SessionStore); private validateCredentials; handleAuth(ws: WebSocket, connectionId: string, message: WSAuthMessage): Promise<{ success: boolean; userId?: string; sessionId?: string; roles?: string[]; permissions?: string[]; scopes?: string[]; error?: string; }>; private handleAuthFailure; private sendAuthFailureResponse; private handleAuthError; private hasValidToken; private authenticateWithToken; validatePermissions(connectionState: { authenticated?: boolean; roles?: string[]; permissions?: string[]; scopes?: string[]; }, requiredPermission?: Permission): boolean; refreshAuth(_ws: WebSocket, connectionId: string, sessionId: string): Promise; } //# sourceMappingURL=auth-handler.d.ts.map