import type { Connection } from 'mongoose';
import * as factory from '../factory';
/**
 * コメントリポジトリ
 */
export declare class CommentRepo {
    private readonly commentModel;
    constructor(connection: Connection);
    static CREATE_MONGO_CONDITIONS(params: factory.creativeWork.comment.ISearchConditions): any[];
    /**
     * 検索
     */
    search(params: factory.creativeWork.comment.ISearchConditions & {
        inclusion: string[];
        exclusion: string[];
    }): Promise<factory.creativeWork.comment.IComment[]>;
    findById(params: {
        id: string;
    }): Promise<factory.creativeWork.comment.IComment>;
    create(params: factory.creativeWork.comment.IComment): Promise<factory.creativeWork.comment.IComment>;
    updateById(params: {
        id?: string;
        attributes: {
            text: string;
        };
    }): Promise<void>;
    /**
     * 削除する
     */
    deleteById(params: {
        id: string;
    }): Promise<void>;
    getCursor(conditions: any, projection: any): import("mongoose").Cursor<import("mongoose").Document<unknown, {}, import("@chevre/factory/lib/creativeWork/comment").IComment> & import("@chevre/factory/lib/creativeWork/comment").IComment & {
        _id: import("mongoose").Types.ObjectId;
    }, import("mongoose").QueryOptions<import("mongoose").Document<unknown, {}, import("@chevre/factory/lib/creativeWork/comment").IComment> & import("@chevre/factory/lib/creativeWork/comment").IComment & {
        _id: import("mongoose").Types.ObjectId;
    }>>;
}
