import { AssetStatsDto, AssetStatsResponseDto } from "../dtos/asset.dto";
import { AuthDto } from "../dtos/auth.dto";
import { CalendarHeatmapDto, CalendarHeatmapResponseDto } from "../dtos/calendar-heatmap.dto";
import { SessionResponseDto } from "../dtos/session.dto";
import { UserPreferencesResponseDto, UserPreferencesUpdateDto } from "../dtos/user-preferences.dto";
import { UserAdminCreateDto, UserAdminDeleteDto, UserAdminResponseDto, UserAdminSearchDto, UserAdminUpdateDto } from "../dtos/user.dto";
import { UserAdminService } from "../services/user-admin.service";
import { UUIDParamDto } from "../validation";
export declare class UserAdminController {
    private service;
    constructor(service: UserAdminService);
    searchUsersAdmin(auth: AuthDto, dto: UserAdminSearchDto): Promise<UserAdminResponseDto[]>;
    createUserAdmin(createUserDto: UserAdminCreateDto): Promise<UserAdminResponseDto>;
    getUserAdmin(auth: AuthDto, { id }: UUIDParamDto): Promise<UserAdminResponseDto>;
    updateUserAdmin(auth: AuthDto, { id }: UUIDParamDto, dto: UserAdminUpdateDto): Promise<UserAdminResponseDto>;
    updateUserAdminV3(auth: AuthDto, { id }: UUIDParamDto, dto: UserAdminUpdateDto): Promise<UserAdminResponseDto>;
    deleteUserAdmin(auth: AuthDto, { id }: UUIDParamDto, dto: UserAdminDeleteDto): Promise<UserAdminResponseDto>;
    getUserCalendarHeatmapAdmin(auth: AuthDto, { id }: UUIDParamDto, dto: CalendarHeatmapDto): Promise<CalendarHeatmapResponseDto>;
    getUserSessionsAdmin(auth: AuthDto, { id }: UUIDParamDto): Promise<SessionResponseDto[]>;
    getUserStatisticsAdmin(auth: AuthDto, { id }: UUIDParamDto, dto: AssetStatsDto): Promise<AssetStatsResponseDto>;
    getUserPreferencesAdmin(auth: AuthDto, { id }: UUIDParamDto): Promise<UserPreferencesResponseDto>;
    updateUserPreferencesAdmin(auth: AuthDto, { id }: UUIDParamDto, dto: UserPreferencesUpdateDto): Promise<UserPreferencesResponseDto>;
    updateUserPreferencesAdminV3(auth: AuthDto, { id }: UUIDParamDto, dto: UserPreferencesUpdateDto): Promise<UserPreferencesResponseDto>;
    restoreUserAdmin(auth: AuthDto, { id }: UUIDParamDto): Promise<UserAdminResponseDto>;
}
