import { CreateThreadDto } from '@/infrastructure/dtos/threads/create-thread.dto'; import { UpdateThreadDto } from '@/infrastructure/dtos/threads/update-thread.dto'; import { PageDto } from '@/infrastructure/dtos/page.dto'; import { CreateMessageDto } from '@/infrastructure/dtos/threads/create-message.dto'; import { Message } from '@/domain/models/message.interface'; import { UpdateMessageDto } from '@/infrastructure/dtos/threads/update-message.dto'; import { Thread } from '@/domain/models/thread.interface'; import DeleteMessageDto from '@/infrastructure/dtos/threads/delete-message.dto'; import { Repository } from 'sequelize-typescript'; import { ThreadEntity } from '@/infrastructure/entities/thread.entity'; import { MessageEntity } from '@/infrastructure/entities/message.entity'; export declare class ThreadsUsecases { private threadRepository; private messageRepository; constructor(threadRepository: Repository, messageRepository: Repository); create(createThreadDto: CreateThreadDto): Promise; findAll(limit: number, order: 'asc' | 'desc', after?: string, before?: string): Promise>; getMessagesOfThread(threadId: string, limit: number, order: 'asc' | 'desc', after?: string, before?: string, runId?: string): Promise>; createMessageInThread(threadId: string, createMessageDto: CreateMessageDto): Promise>; updateMessage(threadId: string, messageId: string, updateMessageDto: UpdateMessageDto): Promise; private getThreadOrThrow; private getMessageOrThrow; findOne(id: string): Promise; update(id: string, updateThreadDto: UpdateThreadDto): Promise<[affectedCount: number]>; remove(id: string): Promise; deleteMessage(_threadId: string, messageId: string): Promise; retrieveMessage(_threadId: string, messageId: string): Promise; clean(threadId: string): Promise; }