import { Request } from 'express';
import { TaskService } from './tasks.service';
import { CreateTaskDto } from './dto/create-task.dto';
import { TaskQueryService } from './services/task-query.service';
import { TaskListQueryDto } from './dto/task-list-query.dto';
type AuthenticatedRequest = Request & {
    user: {
        id: number;
    };
};
export declare class TaskController {
    private readonly taskService;
    private readonly queryService;
    constructor(taskService: TaskService, queryService: TaskQueryService);
    create(dto: CreateTaskDto, req: AuthenticatedRequest): Promise<import("./entities/task.entity").Task>;
    findAll(req: AuthenticatedRequest, query: TaskListQueryDto): Promise<import("../../common/interfaces/pagination-result.interface").PaginationResult<import("./entities/task.entity").Task>>;
    findOne(id: number): Promise<{
        comments: import("./entities/task-comment.entity").TaskComment[];
        histories: import("./entities/task-history.entity").TaskHistory[];
        id: number;
        code: string;
        title: string;
        description?: string;
        workflow_id: number;
        current_step_id: number;
        created_by: number;
        status: import("./enums/task-status.enum").TaskStatus;
        priority?: string;
        due_date?: Date;
        completed_at?: Date;
        created_at: Date;
        updated_at: Date;
        workflow: import("./entities/workflow.entity").Workflow;
        currentStep: import("./entities/workflow-step.entity").WorkflowStep;
        creator: import("../user/entities/user.entity").User;
        participants: import("./entities/task-participant.entity").TaskParticipant[];
        executions: import("./entities/task-step-execution.entity").TaskStepExecution[];
    }>;
}
export {};
