import { Document, Schema as MongooseSchema, Types } from "mongoose";
export type BlogCommentDocument = BlogComment & Document;
export declare class CommentReply {
    _id?: Types.ObjectId | string;
    id?: string;
    name: string;
    email: string;
    comment: string;
    isAdmin?: boolean;
    isVerified?: boolean;
    createdAt?: Date;
}
export declare const CommentReplySchema: MongooseSchema<CommentReply, import("mongoose").Model<CommentReply, any, any, any, any, any, CommentReply>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, CommentReply, Document<unknown, {}, CommentReply, {
    id: string;
}, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
    _id: string | Types.ObjectId;
}> & {
    __v: number;
}, "id"> & import("mongoose").HydratedDocumentOverrides<{
    id: string;
}>, {
    _id?: import("mongoose").SchemaDefinitionProperty<string | Types.ObjectId | undefined, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    id?: import("mongoose").SchemaDefinitionProperty<string | undefined, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    name?: import("mongoose").SchemaDefinitionProperty<string, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    email?: import("mongoose").SchemaDefinitionProperty<string, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    comment?: import("mongoose").SchemaDefinitionProperty<string, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    isAdmin?: import("mongoose").SchemaDefinitionProperty<boolean | undefined, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    isVerified?: import("mongoose").SchemaDefinitionProperty<boolean | undefined, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    createdAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, CommentReply, Document<unknown, {}, CommentReply, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<CommentReply & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
}, CommentReply>;
export declare class BlogComment {
    _id?: Types.ObjectId | string;
    id?: string;
    blog_id: Types.ObjectId | string;
    name: string;
    email: string;
    comment: string;
    status?: string;
    isVerified?: boolean;
    isAdmin?: boolean;
    verifiedAt?: Date;
    verifiedBy?: string;
    replies?: CommentReply[];
    createdAt?: Date;
    updatedAt?: Date;
}
export declare const BlogCommentSchema: MongooseSchema<BlogComment, import("mongoose").Model<BlogComment, any, any, any, any, any, BlogComment>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, BlogComment, Document<unknown, {}, BlogComment, {
    id: string;
}, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
    _id: string | Types.ObjectId;
}> & {
    __v: number;
}, "id"> & import("mongoose").HydratedDocumentOverrides<{
    id: string;
}>, {
    _id?: import("mongoose").SchemaDefinitionProperty<string | Types.ObjectId | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    id?: import("mongoose").SchemaDefinitionProperty<string | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    blog_id?: import("mongoose").SchemaDefinitionProperty<string | Types.ObjectId, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    name?: import("mongoose").SchemaDefinitionProperty<string, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    email?: import("mongoose").SchemaDefinitionProperty<string, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    comment?: import("mongoose").SchemaDefinitionProperty<string, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    status?: import("mongoose").SchemaDefinitionProperty<string | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    isVerified?: import("mongoose").SchemaDefinitionProperty<boolean | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    isAdmin?: import("mongoose").SchemaDefinitionProperty<boolean | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    verifiedAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    verifiedBy?: import("mongoose").SchemaDefinitionProperty<string | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    replies?: import("mongoose").SchemaDefinitionProperty<CommentReply[] | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    createdAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
    updatedAt?: import("mongoose").SchemaDefinitionProperty<Date | undefined, BlogComment, Document<unknown, {}, BlogComment, {
        id: string;
    }, import("mongoose").DefaultSchemaOptions> & Omit<BlogComment & Required<{
        _id: string | Types.ObjectId;
    }> & {
        __v: number;
    }, "id"> & import("mongoose").HydratedDocumentOverrides<{
        id: string;
    }>> | undefined;
}, BlogComment>;
