import { BaseEntity } from "./base.entity";
import { Task } from "./task.entity";
import { User } from "./user.entity";
import { TaskQueryMessage } from "./task-query-message.entity";
export declare enum TaskQueryUserTypeEnum {
    CLIENT = "CLIENT",
    FREELANCER = "FREELANCER"
}
export declare enum TaskQueryCategoryEnum {
    DEVELOPMENT_ISSUE = "DEVELOPMENT_ISSUE",
    TESTING_ISSUE = "TESTING_ISSUE",
    OTHER = "OTHER"
}
export declare enum TaskQueryStatusEnum {
    OPEN = "OPEN",
    ANSWERED = "ANSWERED",
    CLOSED = "CLOSED"
}
export declare class TaskQuery extends BaseEntity {
    taskId: number;
    task: Task;
    raisedByUserId: number;
    raisedByUser: User;
    raisedByType: TaskQueryUserTypeEnum;
    assignedToUserId: number;
    assignedToUser: User;
    assignedToType: TaskQueryUserTypeEnum;
    queryCategory: TaskQueryCategoryEnum;
    subject: string;
    description: string;
    status: TaskQueryStatusEnum;
    lastMessageAt: Date;
    lastMessagePreview: string;
    unreadCountClient: number;
    unreadCountFreelancer: number;
    messages: TaskQueryMessage[];
}
