import { UsersService } from '../users/users.service';
import { EmailService } from '../email/email.service';
import { AdminCreateUserDto } from './dto/admin-create-user.dto';
import { PaginateQueryDto } from './dto/paginate-query.dto';
import { UpdateUserDto } from './dto/update-user.dto';
import { User, UserStatus } from '../users/entities/user.entity';
import { ExcelExportService } from '../common/services/excel-export.service';
export declare class AdminService {
    private readonly usersService;
    private readonly emailService;
    private readonly excelExportService;
    private readonly logger;
    constructor(usersService: UsersService, emailService: EmailService, excelExportService: ExcelExportService);
    findAll(paginate: PaginateQueryDto): Promise<{
        data: User[];
        total: number;
    }>;
    getInterestAreaStats(status?: UserStatus): Promise<import("../users/users.service").InterestAreaStatsResult>;
    create(dto: AdminCreateUserDto): Promise<User>;
    update(id: string, dto: UpdateUserDto): Promise<User>;
    remove(id: string): Promise<void>;
    approve(id: string): Promise<User>;
    reject(id: string, reason: string, instructions?: string): Promise<User>;
    exportInterestAreaOtherResponsesXlsx(status?: UserStatus): Promise<Buffer>;
    exportSubscribedUsersXlsx(): Promise<Buffer>;
    exportAllUsersXlsx(status?: UserStatus): Promise<Buffer>;
}
