import { TicketsService } from './ticket.service';
import { CreateTicketDto } from './dto/create-ticket.dto';
import { UpdateTicketDto } from './dto/update-ticket.dto';
import { CreateCommentDto } from './dto/create-comment.dto';
import { TicketStatus } from 'common/enum/ticket.enum';
import { TicketResponseDto } from './dto/response-ticket.dto';
import { Comment } from './entities/comment.entity';
export declare class TicketsController {
    private readonly ticketsService;
    private readonly logger;
    constructor(ticketsService: TicketsService);
    create(createTicketDto: CreateTicketDto, req: any, file: Express.Multer.File): Promise<TicketResponseDto>;
    findAll(status?: TicketStatus, assigneeId?: number, authorId?: number, labels?: string[]): Promise<TicketResponseDto[]>;
    findMyTickets(req: any): Promise<TicketResponseDto[]>;
    findOne(req: any, id: number): Promise<TicketResponseDto>;
    update(req: any, id: number, updateTicketDto: UpdateTicketDto): Promise<TicketResponseDto>;
    remove(id: number, req: any): Promise<{
        message: string;
    }>;
    addComment(id: number, createCommentDto: CreateCommentDto, req: any, file: Express.Multer.File): Promise<TicketResponseDto>;
    getComments(req: any, id: number): Promise<Comment[]>;
    updateCommentSeen(ticketToken: string, commentId: number, body: {
        isSeen: boolean;
        seenAt: Date;
    }): Promise<Comment>;
    deleteComment(commentId: number, req: any): Promise<{
        message: string;
    }>;
}
