/** * @octomil/browser — Device authentication manager * * Handles device registration, token bootstrap/refresh/revoke for * authenticated model downloads and training round participation. */ import type { DeviceAuthConfig } from "./types.js"; export declare class DeviceAuth { private readonly serverUrl; private readonly apiKey; private token; private deviceId; private refreshTimer; private disposed; constructor(config: DeviceAuthConfig); /** Register this device and obtain an initial auth token. */ bootstrap(orgId: string): Promise; /** Get a valid access token, refreshing if needed. */ getToken(): Promise; /** Refresh the current token. */ refreshToken(): Promise; /** Revoke the current token and clear local state. */ revokeToken(): Promise; /** Whether we currently hold a valid token. */ get isAuthenticated(): boolean; /** Current device identifier. */ get currentDeviceId(): string | null; /** Release timers. */ dispose(): void; private request; private isTokenExpired; private isTokenExpiringSoon; private scheduleRefresh; private clearRefreshTimer; private clearState; /** Generate a stable device ID by hashing browser fingerprint data. */ generateDeviceId(): Promise; private ensureNotDisposed; } //# sourceMappingURL=device-auth.d.ts.map