import type { UserGrantOptionsResponse, UserProfile, UserRole } from "@edenapp/types"; import type { ExecutionContext } from "../execution/ExecutionContext"; import type { SessionManager } from "../session"; import type { GrantCatalogManager } from "./GrantCatalogManager"; import type { UserManager } from "./UserManager"; export declare class UserHandler { private userManager; private sessionManager; private executionContext; private grantCatalog; constructor(userManager: UserManager, sessionManager: SessionManager, executionContext: ExecutionContext, grantCatalog: GrantCatalogManager); private assertVendor; handleGrantOptions(): UserGrantOptionsResponse; /** * List all users. */ handleList(): Promise<{ users: UserProfile[]; }>; /** * Create a new user. */ handleCreate(args: { username?: string; name: string; role?: UserRole; password: string; grants?: string[]; homeDirectory?: string; }): Promise<{ user: UserProfile; }>; /** * Update user profile details or grants. */ handleUpdate(args: { username: string; name?: string; role?: UserRole; grants?: string[]; homeDirectory?: string | null; }): Promise<{ user: UserProfile; }>; /** * Delete a user. */ handleDelete(args: { username: string; }): Promise<{ success: boolean; }>; /** * Set a user's password. */ handleSetPassword(args: { username: string; password: string; }): Promise<{ success: boolean; }>; /** * Change the current user's password. */ handleChangePassword(args: { currentPassword: string; newPassword: string; }): Promise<{ success: boolean; error?: string; }>; /** * Check whether the current user has a specific grant. */ handleHasGrant(args: { grant: string; }): Promise<{ allowed: boolean; }>; /** * Return the configured default username. */ handleGetDefault(): Promise<{ username: string | null; }>; /** * Update the configured default username. */ handleSetDefault(args: { username: string | null; }): Promise<{ success: boolean; }>; } //# sourceMappingURL=UserHandler.d.ts.map