import { QueryService } from './query.service';
import { CreateQueryDto, UpdateQueryDto } from './dto';
import { PaginationDto } from '../../common/dto/pagination.dto';
import { QueryStage } from '../../entities/query.entity';
export declare class QueryController {
    private readonly service;
    constructor(service: QueryService);
    findAll(query: PaginationDto, stage?: string, destinationId?: string, sourceId?: string, assignedTo?: string): Promise<import("../../common/responses/api-response").ApiResponse<import("../../entities/query.entity").QueryEntity[]>>;
    findAvailable(): Promise<import("../../common/responses/api-response").ApiResponse<import("../../entities/query.entity").QueryEntity[]>>;
    getStageCounts(): Promise<import("../../common/responses/api-response").ApiResponse<Record<string, number>>>;
    findById(id: string): Promise<import("../../common/responses/api-response").ApiResponse<import("../../entities/query.entity").QueryEntity>>;
    create(dto: CreateQueryDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        query_number: string;
        message: string;
    }>>;
    update(id: string, dto: UpdateQueryDto): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        message: string;
    }>>;
    changeStage(id: string, stage: QueryStage): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        stage: QueryStage;
        message: string;
    }>>;
    duplicate(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        id: string;
        query_number: any;
        message: string;
    }>>;
    remove(id: string): Promise<import("../../common/responses/api-response").ApiResponse<{
        message: string;
    }>>;
}
