import { AccessKeyData, OAuth2Access } from "../types/project.types.js";
import { ResponseWithSession } from "../middlewares/sessionAuth.middleware.js";
import { ResponseData } from "../utils/responseData.js";
import { NextFunction, Request } from "express";

//#region src/controllers/projectAccessKey.controller.d.ts
type AddNewAccessKeyBody = AccessKeyData;
type AddNewAccessKeyResponse = ResponseData<OAuth2Access>;
/**
 * Adds a new access key to a project.
 */
declare const addNewAccessKey: (req: Request<AddNewAccessKeyBody>, res: ResponseWithSession<AddNewAccessKeyResponse>, _next: NextFunction) => Promise<void>;
type DeleteAccessKeyBody = {
  clientId: string;
};
type DeleteAccessKeyResponse = ResponseData<null>;
/**
 * Deletes an access key from a project.
 */
declare const deleteAccessKey: (req: Request, res: ResponseWithSession<AddNewAccessKeyResponse>, _next: NextFunction) => Promise<void>;
type RefreshAccessKeyBody = {
  clientId: string;
};
type RefreshAccessKeyResponse = ResponseData<OAuth2Access>;
/**
 * Refreshes an access key from a project.
 */
declare const refreshAccessKey: (req: Request<RefreshAccessKeyBody>, res: ResponseWithSession<RefreshAccessKeyResponse>, _next: NextFunction) => Promise<void>;
//#endregion
export { AddNewAccessKeyBody, AddNewAccessKeyResponse, DeleteAccessKeyBody, DeleteAccessKeyResponse, RefreshAccessKeyBody, RefreshAccessKeyResponse, addNewAccessKey, deleteAccessKey, refreshAccessKey };
//# sourceMappingURL=projectAccessKey.controller.d.ts.map