import type { IncomingHttpHeaders } from 'node:http'; import type { DashboardAuth } from '../../shared/server-settings.js'; import { type ServerSettingsService } from './settings.service.js'; export declare const DASHBOARD_AUTH_COOKIE = "anima_dashboard_session"; export interface DashboardAuthStatus { authenticated: boolean; enabled: boolean; sessionTtlHours: number; } export declare class DashboardAuthService { private readonly settings; constructor(settings?: ServerSettingsService); status(headers?: IncomingHttpHeaders): Promise; setPassword(password: string, options?: { sessionTtlHours?: number; }): Promise; disable(): Promise; login(password: string, options?: { secureCookie?: boolean; }): Promise<{ cookie: string; ok: boolean; status: DashboardAuthStatus; }>; isRequestAuthenticated(headers: IncomingHttpHeaders | undefined): Promise; private verifySession; } export declare const defaultDashboardAuthService: DashboardAuthService; export declare function dashboardAuthEnabled(config: DashboardAuth | undefined): boolean; export declare function sessionTtlHours(config: DashboardAuth | undefined): number; export declare function normalizePassword(password: string): string; export declare function hashDashboardPassword(password: string): Promise; export declare function verifyDashboardPassword(password: string, encodedHash: string): Promise; export declare function newDashboardSessionSecret(): string; export declare function createDashboardSessionCookie(sessionSecret: string, ttlHours: number, secure?: boolean): string; export declare function clearDashboardAuthCookie(): string; export declare function verifyDashboardSessionCookie(value: string | undefined, sessionSecret: string): boolean; export declare function cookieValue(headers: IncomingHttpHeaders | undefined, name: string): string | undefined; //# sourceMappingURL=dashboard-auth.service.d.ts.map