import { AdminService } from './admin.service';
export declare class AdminController {
    private admin;
    constructor(admin: AdminService);
    getStats(): Promise<{
        totalUsers: number;
        pendingUsers: number;
        approvedUsers: number;
        suspendedUsers: number;
        premiumMembers: number;
        totalGroups: number;
        totalPosts: number;
        usersByStatus: {
            status: string;
            count: number;
        }[];
        registrationsByDay: {
            date: string;
            count: number;
        }[];
    }>;
    findAllUsers(status?: string, search?: string, page?: number, limit?: number): Promise<{
        users: {
            id: string;
            phone: string | null;
            email: string | null;
            name: string;
            profilePicture: string | null;
            role: import("@prisma/client").$Enums.UserRole;
            status: import("@prisma/client").$Enums.UserStatus;
            createdAt: Date;
            membership: {
                type: import("@prisma/client").$Enums.MembershipType;
                validUntil: Date | null;
            } | null;
        }[];
        total: number;
        page: number;
        limit: number;
    }>;
    findAllGroups(search?: string, type?: string, page?: number, limit?: number): Promise<{
        groups: {
            id: string;
            name: string;
            createdAt: Date;
            _count: {
                messages: number;
                members: number;
            };
            type: import("@prisma/client").$Enums.GroupType;
            description: string | null;
        }[];
        total: number;
        page: number;
        limit: number;
    }>;
    createUser(body: any): Promise<{
        id: string;
        phone: string | null;
        email: string | null;
        name: string;
        profilePicture: string | null;
        role: import("@prisma/client").$Enums.UserRole;
        status: import("@prisma/client").$Enums.UserStatus;
        createdAt: Date;
        membership: {
            type: import("@prisma/client").$Enums.MembershipType;
            validUntil: Date | null;
        } | null;
    }>;
    updateUser(id: string, body: any): Promise<{
        id: string;
        phone: string | null;
        email: string | null;
        name: string;
        profilePicture: string | null;
        role: import("@prisma/client").$Enums.UserRole;
        status: import("@prisma/client").$Enums.UserStatus;
        createdAt: Date;
        membership: {
            type: import("@prisma/client").$Enums.MembershipType;
            validUntil: Date | null;
        } | null;
    }>;
}
