import { ApiResponse } from "../../../../fd-toolbox/api/api-response";
/**
 * Creates a JSON response with the specified body, status, and headers.
 *
 * @template TBody
 * @param body - The response body to be sent to the client as JSON.
 * @param status - The HTTP status code for the response.
 * @param headers - Optional headers to include in the response.
 */
export declare function getJsonResponse<TBody>(body: ApiResponse<TBody>, status: number, headers?: HeadersInit): Response;
/**
 * Sends a response with HTTP status code 200 (OK) and the provided data.
 *
 * @template TBody
 * @param resData - The response data to be sent to the client.
 * @param headers - Optional headers to include in the response.
 */
export declare function apiOkResponse<TBody>(resData: TBody, headers?: HeadersInit): Response;
/**
 * Sends a response with HTTP status code 201 (Created) and the provided data.
 *
 * @template TBody
 * @param resData - The response data to be sent to the client (defaults to undefined).
 * @param headers - Optional headers to include in the response.
 */
export declare function apiCreatedResponse<TBody>(resData?: TBody, headers?: HeadersInit): Response;
/**
 * Sends a response with HTTP status code 204 (No Content).
 *
 * @param headers - Optional headers to include in the response.
 */
export declare function apiNoContentResponse(headers?: HeadersInit): Response;
/**
 * Sends a response with HTTP status code 400 (Bad Request).
 *
 * @template TBody
 * @param resData - The response data to be sent to the client.
 * @param headers - Optional headers to include in the response.
 */
export declare function apiBadRequestResponse<TBody>(resData: TBody, headers?: HeadersInit): Response;
/**
 * Sends a response with HTTP status code 429 (Too Many Requests).
 *
 * @template TBody
 * @param resData - The response body to be sent to the client.
 * @param options - Response initialization settings, such as headers.
 */
export declare function apiTooManyRequestsResponse<TBody>(resData: TBody, options?: ResponseInit): Response;
/**
 * Sends a response with HTTP status code 500 (Internal Server Error).
 *
 * @template TBody
 * @param resData - The response data to be sent to the client.
 * @param options - Response initialization settings, such as headers and status.
 */
export declare function apiInternalServerErrorResponse<TBody>(resData: TBody, options?: ResponseInit): Response;
/**
 * Sends a response with HTTP status code 404 (Not Found).
 *
 * @template TBody
 * @param resData - The response data to be sent to the client.
 * @param headers - Optional headers to include in the response.
 */
export declare function apiNotFoundResponse<TBody>(resData: TBody, headers?: HeadersInit): Response;
/**
 * Sends an image file as an HTTP response with the appropriate content type and cache headers.
 *
 * @param filePath - Absolute path to the image file to be sent to the client.
 */
export declare function getImageResponse(filePath: string): Promise<Response>;
/**
 * Creates a generic API response with the specified data and options.
 *
 * @template TBody
 * @param resData - The response data to be sent to the client as JSON.
 * @param options - Response initialization settings, such as headers and status.
 */
export declare function apiResponse<TBody>(resData: TBody, options?: ResponseInit): Response;
