import { ResponseWithSession } from "../middlewares/sessionAuth.middleware.js";
import { PaginatedResponse, ResponseData } from "../utils/responseData.js";
import { NextFunction, Request } from "express";
import { AuditAPI, AuditData } from "@/types/audit.types";

//#region src/controllers/audit.controller.d.ts
type CreateAuditBody = AuditData;
type CreateAuditResult = ResponseData<AuditAPI>;
/**
 * Creates a new audit in the database.
 */
declare const createAudit: (req: Request<any, any, CreateAuditBody>, res: ResponseWithSession<CreateAuditResult>, _next: NextFunction) => Promise<void>;
type GetAuditsParams = {
  page?: number;
  pageSize?: number;
};
type GetAuditsResult = PaginatedResponse<AuditAPI>;
/**
 * Retrieves audits for the current user or project.
 */
declare const getAudits: (req: Request<any, any, any, GetAuditsParams>, res: ResponseWithSession<GetAuditsResult>, _next: NextFunction) => Promise<void>;
type GetAuditByIdParams = {
  auditId: string;
};
type GetAuditByIdResult = ResponseData<AuditAPI>;
/**
 * Retrieves an audit by its ID.
 */
declare const getAuditById: (req: Request<GetAuditByIdParams>, res: ResponseWithSession<GetAuditByIdResult>, _next: NextFunction) => Promise<void>;
//#endregion
export { CreateAuditBody, CreateAuditResult, GetAuditByIdParams, GetAuditByIdResult, GetAuditsParams, GetAuditsResult, createAudit, getAuditById, getAudits };
//# sourceMappingURL=audit.controller.d.ts.map