import type { Comment } from '../../../domain/generated/output.js';
import type { ICommentRepository } from '../../ports/output/repositories/comment-repository.interface.js';
export interface CreateCommentInput {
    workItemId: string;
    content: string;
    authorId: string;
    parentId?: string;
}
export type ManageCommentResult = {
    ok: true;
    comment?: Comment;
    comments?: Comment[];
} | {
    ok: false;
    error: string;
};
export declare class ManageCommentsUseCase {
    private readonly commentRepo;
    constructor(commentRepo: ICommentRepository);
    list(workItemId: string): Promise<Comment[]>;
    create(input: CreateCommentInput): Promise<ManageCommentResult>;
    update(commentId: string, content: string): Promise<ManageCommentResult>;
    delete(commentId: string): Promise<ManageCommentResult>;
}
//# sourceMappingURL=manage-comments.use-case.d.ts.map