import { FastifyReply, FastifyRequest } from "fastify";

//#region src/controllers/recursiveAudit.controller.d.ts
type StartRecursiveAuditResult = {
  jobId: string;
};
type DiscoverUrlsResult = {
  urls: string[];
};
type RecursiveAuditJobInfo = {
  _id: string;
  targetUrl: string;
  userId?: string;
  status: 'pending' | 'running' | 'paused' | 'cancelled' | 'completed' | 'failed';
  progress: number;
  totalPageCount: number;
  completedPageCount: number;
  createdAt: Date;
  updatedAt: Date;
};
type RecursiveAuditPageInfo = {
  _id: string;
  url: string;
  status: 'pending' | 'running' | 'completed' | 'failed';
  score?: number;
  error?: string;
  results?: any[];
};
type GetRecursiveAuditStatusResult = {
  job: RecursiveAuditJobInfo;
  pages: RecursiveAuditPageInfo[];
};
declare const discoverUrls: (request: FastifyRequest<{
  Querystring: {
    url: string;
  };
}>, reply: FastifyReply) => Promise<never>;
declare const startRecursiveAudit: (request: FastifyRequest<{
  Querystring: {
    url: string;
  };
  Body: {
    urls?: string[];
  };
}>, reply: FastifyReply) => Promise<never>;
declare const getRecursiveAuditStatus: (request: FastifyRequest<{
  Params: {
    jobId: string;
  };
}>, reply: FastifyReply) => Promise<never>;
declare const cancelRecursiveAudit: (request: FastifyRequest<{
  Params: {
    jobId: string;
  };
}>, reply: FastifyReply) => Promise<never>;
declare const pauseRecursiveAudit: (request: FastifyRequest<{
  Params: {
    jobId: string;
  };
}>, reply: FastifyReply) => Promise<never>;
declare const resumeRecursiveAudit: (request: FastifyRequest<{
  Params: {
    jobId: string;
  };
}>, reply: FastifyReply) => Promise<never>;
//#endregion
export { DiscoverUrlsResult, GetRecursiveAuditStatusResult, RecursiveAuditJobInfo, RecursiveAuditPageInfo, StartRecursiveAuditResult, cancelRecursiveAudit, discoverUrls, getRecursiveAuditStatus, pauseRecursiveAudit, resumeRecursiveAudit, startRecursiveAudit };
//# sourceMappingURL=recursiveAudit.controller.d.ts.map