export interface UserFilters { search?: string; isActive?: boolean; roleId?: number; page?: number; limit?: number; } export declare function getAllUsers(filters: UserFilters): Promise<{ users: { roles: ({ permissions: { roleId: number; permissionId: number; }[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; })[]; hasDeveloperAccess: boolean; id: number; email: string; customerId: number | null; firstName: string; lastName: string; isActive: boolean; createdAt: Date; }[]; pagination: { page: number; limit: number; total: number; totalPages: number; }; }>; export declare function getUserById(id: number): Promise<{ roles: ({ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; })[]; permissions: string[]; id: number; email: string; customerId: number | null; firstName: string; lastName: string; isActive: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function createUser(data: { email: string; password: string; firstName: string; lastName: string; roleIds: number[]; customerId?: number; hasDeveloperAccess?: boolean; }): Promise<{ id: number; email: string; customerId: number | null; firstName: string; lastName: string; isActive: boolean; roles: ({ role: { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; }; } & { userId: number; roleId: number; })[]; }>; export declare function updateUser(id: number, data: { email?: string; password?: string; firstName?: string; lastName?: string; isActive?: boolean; roleIds?: number[]; customerId?: number; hasDeveloperAccess?: boolean; }): Promise<{ roles: ({ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; })[]; permissions: string[]; id: number; email: string; customerId: number | null; firstName: string; lastName: string; isActive: boolean; createdAt: Date; updatedAt: Date; } | null>; export declare function deleteUser(id: number): Promise<{ id: number; email: string; customerId: number | null; password: string; firstName: string; lastName: string; isActive: boolean; tokenInvalidatedAt: Date | null; createdAt: Date; updatedAt: Date; }>; export declare function getAllRoles(): Promise<({ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; _count: { users: number; }; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; })[]>; export declare function getRoleById(id: number): Promise<({ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; }) | null>; export declare function createRole(data: { name: string; description?: string; permissionIds: number[]; }): Promise<{ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; }>; export declare function updateRole(id: number, data: { name?: string; description?: string; permissionIds?: number[]; }): Promise<({ permissions: ({ permission: { id: number; resource: string; action: string; }; } & { roleId: number; permissionId: number; })[]; } & { id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; }) | null>; export declare function deleteRole(id: number): Promise<{ id: number; createdAt: Date; updatedAt: Date; name: string; description: string | null; }>; export declare function getAllPermissions(): Promise<{ id: number; resource: string; action: string; }[]>; //# sourceMappingURL=user.service.d.ts.map