import { Admin, AdminDocument } from './schemas/admin.schema';
import { Model } from 'mongoose';
export declare class AdminService {
    private adminModel;
    constructor(adminModel: Model<AdminDocument>);
    findByEmail(email: string): Promise<(import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>) | null>;
    findByIdForAuth(id: string): Promise<(import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>) | null>;
    findById(id: string): Promise<(import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>) | null>;
    findByPhone(phone: string): Promise<(import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>) | null>;
    create(dto: {
        email: string;
        password: string;
        phone?: string;
    }): Promise<import("mongoose").FlattenMaps<Admin & import("mongoose").Document<unknown, any, any, Record<string, any>> & Required<{
        _id: string;
    }>>>;
    updatePassword(id: string, newPasswordHash: string): Promise<{
        message: string;
    }>;
    updateProfile(id: string, data: {
        name?: string;
        phone?: string;
        photoUrl?: string;
    }): Promise<import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>>;
    updateEmail(id: string, newEmail: string): Promise<import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>>;
    updateNotificationPrefs(id: string, prefs: {
        email?: boolean;
        whatsapp?: boolean;
    }): Promise<import("mongoose").FlattenMaps<AdminDocument> & Required<{
        _id: string;
    }>>;
}
