import { UserService } from './user.service';
import { CreateUserDto, UpdateUserDto, ResetPasswordDto } from './dto';
import { PaginationDto } from '../../common/dto/pagination.dto';
export declare class UserController {
    private readonly userService;
    constructor(userService: UserService);
    findAll(query: PaginationDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: any;
        name: any;
        email: any;
        phone: any;
        role: {
            id: any;
            name: any;
        } | null;
        is_active: any;
        last_login_at: any;
        created_at: any;
        updated_at: any;
    }[]>>;
    lookup(): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: any;
        name: any;
        email: any;
        role_id: any;
        role: {
            id: any;
            name: any;
        } | null;
    }[]>>;
    findById(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: any;
        name: any;
        email: any;
        phone: any;
        is_active: any;
        last_login_at: any;
        created_at: any;
        updated_at: any;
        created_by: any;
        updated_by: any;
        role: {
            id: any;
            name: any;
            description: any;
            is_system: any;
            permissions: any;
        } | 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;
    }>>;
}
