import type { LogEntry, Logger, DashboardUser, DashboardRequest, DashboardMiddleware } from '../types/index.js'; export interface DashboardConfig { path?: string; logFolder?: string; realtime?: boolean; authenticate?: (req: DashboardRequest) => Promise | boolean; users?: DashboardUser[]; maxLogs?: number; title?: string; showMetrics?: boolean; sessionTimeout?: number; } export declare class LogDashboard { private config; private recentLogs; private logIdSet; private logCounter; private logger; private sessions; private metricsCache; private metricsUpdateInterval; private loginAttempts; private readonly MAX_LOGIN_ATTEMPTS; private readonly LOGIN_LOCKOUT_TIME; constructor(config?: DashboardConfig); private startMetricsCollection; private generateSessionId; private hashPassword; private validateUser; private createSession; private getSession; private cleanupSessions; attachLogger(logger: Logger): void; captureLog(entry: LogEntry): void; middleware(): DashboardMiddleware; private serveLoginPage; private handleLogin; private handleLogout; private serveMetrics; private serveDashboard; private serveLogs; private serveAvailableDates; private streamLogs; private serveStatic; private readLogsFromFiles; private getAvailableLogDates; private renderLoginPage; private renderTemplate; private getDashboardCSS; private getDashboardJS; close(): void; } export declare class DashboardTransport { readonly name = "dashboard"; private dashboard; constructor(dashboard: LogDashboard); log(entry: LogEntry): void; } //# sourceMappingURL=dashboard.d.ts.map