import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { Router } from '@angular/router'; export interface User { id: string; email: string; profile: { firstName: string; lastName: string; avatar?: string; }; role: 'admin' | 'user' | 'guest'; preferences?: { theme: 'light' | 'dark'; notifications: boolean; }; } export interface PaginatedResponse { data: T[]; total: number; page: number; pageSize: number; } export declare class UserService { private http; private baseUrl?; private router?; private readonly apiUrl; private usersSubject; users$: any; private selectedUsersSubject; selectedUsers$: any; constructor(http: HttpClient, baseUrl?: string | undefined, router?: Router); /** * Fetch all users with optional filtering */ getUsers(params?: { role?: User['role']; search?: string; page?: number; pageSize?: number; }): Observable>; /** * Get a single user by ID */ getUserById(id: string): Observable; /** * Create a new user */ createUser(userData: Omit): Observable; /** * Update an existing user */ updateUser(id: string, updates: Partial): Observable; /** * Delete a user */ deleteUser(id: string): Observable; /** * Search users with debouncing */ searchUsers(query: string): Observable; /** * Toggle user selection */ toggleUserSelection(userId: string): void; /** * Get filtered and paginated users stream */ getFilteredUsers(filters: { role?: User['role']; search?: string; page?: number; pageSize?: number; }): Observable>; /** * Load initial users */ private loadUsers; } //# sourceMappingURL=angular-service.d.ts.map