import { Request, Response } from 'express';
import { bulkUpdateApplicationStatusDto, createJobApplicationDto, createJobPostingDto, createRecruitmentTaskDto, updateRecruitmentTaskDto, assignRecruitmentTasksDto, createTenantApiKeyDto, jobApplicationFilterDto, jobPostingFilterDto, recruitmentTaskFilterDto, updateApplicationStatusDto, updateJobApplicationDto, updateJobPostingDto, scheduleInterviewDto, cancelInterviewDto } from './recruitment.dto';
import { RecruitmentService } from './recruitment.service';
export declare class RecruitmentController {
    private readonly service;
    constructor(service: RecruitmentService);
    createJobPosting(data: createJobPostingDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getJobPostings(query: jobPostingFilterDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getJobPostingById(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateJobPosting(id: string, data: updateJobPostingDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteJobPosting(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    createApplication(data: createJobApplicationDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getApplications(query: jobApplicationFilterDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getApplicationById(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateApplication(id: string, data: updateJobApplicationDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateApplicationStatus(id: string, data: updateApplicationStatusDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    bulkUpdateApplicationStatus(data: bulkUpdateApplicationStatusDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteApplication(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    createTask(data: createRecruitmentTaskDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    updateTask(id: string, data: updateRecruitmentTaskDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    deleteTask(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    assignBulkTasks(data: assignRecruitmentTasksDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getTasks(query: recruitmentTaskFilterDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    sendTaskEmail(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    getStats(owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    createApiKey(data: createTenantApiKeyDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    listApiKeys(owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    revokeApiKey(id: string, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    scheduleInterview(data: scheduleInterviewDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
    cancelInterview(data: cancelInterviewDto, owner_id: string, req: Request, res: Response): Promise<Response<any, Record<string, any>>>;
}
