//#region src/coordinates/latlon/internal/validate.d.ts /** * Checks if a value is a finite number (not NaN, not Infinity, not -Infinity). * * @param value - The numeric value to check * @returns True if the value is a finite number, false otherwise * * @example * ```typescript * isFiniteNumber(42); // true * isFiniteNumber(NaN); // false * isFiniteNumber(Infinity); // false * ``` */ declare function isFiniteNumber(value: number): boolean; /** * Validates that a value is within a signed range (-limit to +limit). * * @param label - The label for error messages (used as-is for range errors, * lowercased for "Invalid" errors) * @param value - The numeric value to validate * @param limit - The absolute limit (validates -limit to +limit) * @returns Error message string if validation fails, undefined if valid * * @example * ```typescript * validateSignedRange('Latitude', 45, 90); * // => undefined * ``` * * @example * ```typescript * validateSignedRange('Latitude', 95, 90); * // => '[ERROR] Latitude value (95) is outside valid range (-90 to 90).' * ``` * * @example * ```typescript * validateSignedRange('Longitude', NaN, 180); * // => '[ERROR] Invalid longitude value (NaN); expected a finite number.' * ``` */ declare function validateSignedRange(label: string, value: number, limit: number): string | undefined; /** * Validates numeric latitude and longitude coordinate values. * * @param lat - The latitude value to validate (must be -90 to 90) * @param lon - The longitude value to validate (must be -180 to 180) * @returns Array of error message strings, empty if all validations pass * * @example * ```typescript * validateNumericCoordinate(45.5, -122.6); * // => [] * ``` * * @example * ```typescript * validateNumericCoordinate(91, -122.6); * // => ['[ERROR] Latitude value (91) is outside valid range (-90 to 90).'] * ``` * * @example * ```typescript * validateNumericCoordinate(NaN, 200); * // => [ * // '[ERROR] Invalid latitude value (NaN); expected a finite number.', * // '[ERROR] Longitude value (200) is outside valid range (-180 to 180).' * // ] * ``` */ declare function validateNumericCoordinate(lat: number, lon: number): string[]; /** * Reports whether latitude and longitude are both finite and in range. * * A boolean-only probe for hot paths that need validity but not the error * messages: it short-circuits on the first finite/range failure and allocates * nothing, unlike {@link validateNumericCoordinate}, which builds an error * array. Use that function when the messages are consumed. * * @param lat - The latitude value to validate (must be -90 to 90). * @param lon - The longitude value to validate (must be -180 to 180). * @returns `true` when both values are finite and within range. * * @remarks pure function * * @example * ```typescript * isValidNumericCoordinate(45.5, -122.6); * // => true * ``` * * @example * ```typescript * isValidNumericCoordinate(91, -122.6); * // => false * ``` */ declare function isValidNumericCoordinate(lat: number, lon: number): boolean; //#endregion export { isFiniteNumber, isValidNumericCoordinate, validateNumericCoordinate, validateSignedRange }; //# sourceMappingURL=validate.d.ts.map