import { GeoFirestoreTypes } from '../definitions';
/**
 * Validates the inputted GeoDocument object and throws an error, or returns boolean, if it is invalid.
 *
 * @param documentData The GeoDocument object to be validated.
 * @param flag Tells function to send up boolean if valid instead of throwing an error.
 * @return Flag if data is valid
 */
export declare function validateGeoDocument(documentData: GeoFirestoreTypes.GeoDocumentData, flag?: boolean): boolean;
/**
 * Validates the inputted limit and throws an error, or returns boolean, if it is invalid.
 *
 * @param limit The limit to be applied by `GeoQuery.limit()`
 * @param flag Tells function to send up boolean if valid instead of throwing an error.
 */
export declare function validateLimit(limit: number, flag?: boolean): boolean;
/**
 * Validates a GeoPoint object and returns a boolean if valid, or throws an error if invalid.
 *
 * @param location The Firestore GeoPoint to be verified.
 * @param flag Tells function to send up boolean if not valid instead of throwing an error.
 */
export declare function validateLocation(location: GeoFirestoreTypes.web.GeoPoint | GeoFirestoreTypes.cloud.GeoPoint, flag?: boolean): boolean;
/**
 * Validates the inputted query criteria and throws an error if it is invalid.
 *
 * @param newQueryCriteria The criteria which specifies the query's center and/or radius.
 * @param requireCenterAndRadius The criteria which center and radius required.
 */
export declare function validateQueryCriteria(newQueryCriteria: GeoFirestoreTypes.QueryCriteria, requireCenterAndRadius?: boolean): void;
