type Geolocation = {
    ip_address?: string;
    city?: string;
    country?: string;
    continent?: string;
    longitude?: number;
    latitude?: number;
    region?: string;
    metro_code?: string;
    postal_code?: string;
    time_zone?: string;
};
/** reference: https://developers.cloudflare.com/rules/transform/managed-transforms/reference/#add-visitor-location-headers */
declare function getGeolocationFromCloudflare(r: Request): Geolocation;
/** reference: https://github.com/vercel/vercel/blob/main/packages/functions/src/headers.ts */
declare function getGeolocationFromVercel(r: Request): Geolocation;
/** reference: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-cloudfront-headers.html#cloudfront-headers-viewer-location */
declare function getGeolocationFromCloudfront(r: Request): Geolocation;
declare function getGeolocation(r: Request): Geolocation;

export { type Geolocation, getGeolocation, getGeolocationFromCloudflare, getGeolocationFromCloudfront, getGeolocationFromVercel };
