#' Validate a bounding box vector
#'
#' Checks that a bounding box is a length-4 numeric vector with valid
#' coordinate values and logical ordering. Called before any COG read
#' is attempted.
#'
#' @param bbox numeric vector. Expected format: \code{c(xmin, ymin, xmax, ymax)}
#' in EPSG:4326. Two-point format \code{c(x1, y1, x2, y2)} is not supported —
#' ensure \code{xmin < xmax} and \code{ymin < ymax} before passing.
#'
#' @return Invisibly returns \code{bbox} if valid. Stops with an informative
#' error if not.
#'
#' @details Checks performed:
#' \itemize{
#' \item Must be numeric
#' \item Must be length 4
#' \item \code{xmin} must be less than \code{xmax}
#' \item \code{ymin} must be less than \code{ymax}
#' \item Longitude values must be between -180 and 180
#' \item Latitude values must be between -90 and 90
#' \item If \code{xmin >= xmax} or \code{ymin >= ymax}, stops with a message
#' suggesting the user may have passed two points in the wrong order
#' }
#'
#' @Keywords internal
#' @Seealso Used by: \code{get_tif()}
validate_bbox <- function(bbox) {}
#' Validate a bounding box vector
#'
#' Checks that a bounding box is a length-4 numeric vector with valid
#' coordinate values and logical ordering. Called before any COG read
#' is attempted.
#'
#' @param bbox numeric vector. Expected format: \code{c(xmin, ymin, xmax, ymax)}
#' in EPSG:4326. Two-point format \code{c(x1, y1, x2, y2)} is not supported —
#' ensure \code{xmin < xmax} and \code{ymin < ymax} before passing.
#'
#' @return Invisibly returns \code{bbox} if valid. Stops with an informative
#' error if not.
#'
#' @details Checks performed:
#' \itemize{
#' \item Must be numeric
#' \item Must be length 4
#' \item \code{xmin} must be less than \code{xmax}
#' \item \code{ymin} must be less than \code{ymax}
#' \item Longitude values must be between -180 and 180
#' \item Latitude values must be between -90 and 90
#' \item If \code{xmin >= xmax} or \code{ymin >= ymax}, stops with a message
#' suggesting the user may have passed two points in the wrong order
#' }
#'
#' @Keywords internal
#' @Seealso Used by: \code{get_tif()}
validate_bbox <- function(bbox) {}