import { BaseError, UniqueConstraintError } from "sequelize";
import { RequestQuery, QueryOptions, ResponseType } from "../types/BaseControllerTypes";
/**
 * Constructs a Sequelize query object based on the provided request query.
 * This function dynamically builds the `where` clause, allows for sorting,
 * pagination, field selection, and includes related models.
 *
 * @param {RequestQuery} query - The incoming request query parameters.
 * @returns {QueryOptions} - Returns a Sequelize query options object to be used for querying the database.
 */
export declare function ConstructQuery(query: RequestQuery): QueryOptions;
/**
 * A helper function to structure a successful response.
 *
 * @param {any} response - Data to include in the response.
 * @returns {ResponseType} - An object with success status and response data.
 */
export declare function ResponseHelper(response?: any): ResponseType;
/**
 * Handles errors and constructs an error response based on the type of error (Sequelize, database, or validation).
 *
 * @param {UniqueConstraintError | BaseError | Error | any} error - The error encountered during execution.
 * @returns {ResponseType} - Returns a structured error response with error codes and messages.
 */
export declare function ErrorResponseHandler(error: UniqueConstraintError | BaseError | Error | any): ResponseType;
export { ResponseType };
//# sourceMappingURL=BaseControllerHelper.d.ts.map