import { type UserRow, type UsersTable } from './schema.js';
export type User = UserRow;
export type UsersData = UsersTable;
/**
 * Create a new user. Returns the created User.
 */
export declare function createUser(name: string, email?: string, role?: string): User;
/**
 * List all users.
 */
export declare function listUsers(): User[];
/**
 * Get a user by ID.
 */
export declare function getUser(id: string): User | null;
/**
 * Get a user by email address.
 */
export declare function getUserByEmail(email: string): User | null;
/**
 * Get the currently active user.
 */
export declare function getActiveUser(): User | null;
/**
 * Update a user's fields. Returns the updated User or null if not found.
 */
export declare function updateUser(id: string, updates: Partial<Pick<User, 'name' | 'email' | 'role' | 'active' | 'metadata'>>): User | null;
/**
 * Delete a user by ID. Returns true if deleted, false if not found.
 */
export declare function deleteUser(id: string): boolean;
/**
 * Set the active user by ID. Returns the activated User or null if not found.
 */
export declare function setActiveUser(id: string): User | null;
/**
 * Set user metadata key/value pair.
 */
export declare function setUserMetadata(id: string, key: string, value: string): User | null;
/**
 * Get a metadata value for a user.
 */
export declare function getUserMetadata(id: string, key: string): string | undefined;
/**
 * Print a formatted user list to stdout.
 */
export declare function printUserList(): void;
/**
 * Build a context string about the active user for the system prompt.
 */
export declare function buildUserContext(): string;
