import type { EdenConfig, UserProfile, UserRole } from "@edenapp/types"; export declare class UserManager { private userDirectory; private store; private initialized; private defaultUsername; private restrictedApps; constructor(config: EdenConfig, appsDirectory: string, userDirectory: string); initialize(): Promise; listUsers(): Promise; getUser(username: string): Promise; createUser(args: { username?: string; name: string; role?: UserRole; password: string; grants?: string[]; homeDirectory?: string; }): Promise; updateUser(args: { username: string; name?: string; role?: UserRole; grants?: string[]; homeDirectory?: string | null; }): Promise; deleteUser(username: string): Promise; setPassword(username: string, password: string): Promise; changePassword(username: string, currentPassword: string, newPassword: string): Promise; authenticate(username: string, password: string): Promise; getDefaultUsername(): string | null; setDefaultUsername(username: string | null): Promise; private normalizeUsername; private requireUserRecord; private toPublicUser; private loadDefaultUsername; getDefaultUser(): Promise; private normalizeUserGrants; /** * Removes apps/launch/* grants for restricted apps to keep grants tidy. * Note: This is cosmetic only - actual restriction is enforced in canLaunchApp() * which checks restrictedApps directly, bypassing grants entirely. */ private filterRestrictedAppGrants; dispose(): Promise; } //# sourceMappingURL=UserManager.d.ts.map