import { UserService } from './user.service';
import { CreateUserDto, UpdateUserDto, ResetPasswordDto } from './dto';
import { ClsService } from 'nestjs-cls';
import { AccessLevel } from '../../entities/role-permission.entity';
import { PaginationDto } from '../../common/dto/pagination.dto';
declare class UpdateMyPreferencesDto {
    active_destination_id?: string | null;
}
export declare class UserController {
    private readonly userService;
    private readonly cls;
    constructor(userService: UserService, cls: ClsService);
    updateMyPreferences(dto: UpdateMyPreferencesDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        active_destination_id: string | null;
    }>>;
    findAll(query: PaginationDto, reportsTo?: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        name: string;
        email: string;
        phone: string | null;
        role: {
            id: string;
            name: string;
        } | null;
        reports_to: {
            id: string;
            name: string;
        } | null;
        is_active: boolean;
        last_login_at: Date | null;
        created_at: Date;
        updated_at: Date;
    }[]>>;
    lookup(): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        name: string;
        email: string;
        role_id: string;
        role: {
            id: string;
            name: string;
        } | null;
    }[]>>;
    findById(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        name: string;
        email: string;
        phone: string | null;
        reports_to: {
            id: string;
            name: string;
        } | null;
        is_active: boolean;
        last_login_at: Date | null;
        created_at: Date;
        updated_at: Date;
        created_by: string | null;
        updated_by: string | null;
        role: {
            id: string;
            name: string;
            description: string | null;
            is_system: boolean;
            permissions: {
                module: string;
                access_level: AccessLevel;
            }[];
        } | null;
    }>>;
    create(dto: CreateUserDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        message: string;
    }>>;
    update(id: string, dto: UpdateUserDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        message: string;
    }>>;
    toggleStatus(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        is_active: boolean;
        message: string;
    }>>;
    resetPassword(id: string, dto: ResetPasswordDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        message: string;
    }>>;
    remove(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        message: string;
    }>>;
}
export {};
