import { z } from 'zod';
/**
 * Zod Schema for the core IP details returned by the ip-api.com JSON endpoint.
 * Includes common fields and optional extended fields.
 */
export declare const IPDetailSchema: z.ZodObject<{
    status: z.ZodString;
    message: z.ZodOptional<z.ZodString>;
    query: z.ZodOptional<z.ZodString>;
    country: z.ZodOptional<z.ZodString>;
    countryCode: z.ZodOptional<z.ZodString>;
    region: z.ZodOptional<z.ZodString>;
    regionName: z.ZodOptional<z.ZodString>;
    city: z.ZodOptional<z.ZodString>;
    zip: z.ZodOptional<z.ZodString>;
    lat: z.ZodOptional<z.ZodNumber>;
    lon: z.ZodOptional<z.ZodNumber>;
    timezone: z.ZodOptional<z.ZodString>;
    isp: z.ZodOptional<z.ZodString>;
    org: z.ZodOptional<z.ZodString>;
    as: z.ZodOptional<z.ZodString>;
    asname: z.ZodOptional<z.ZodString>;
    reverse: z.ZodOptional<z.ZodString>;
    mobile: z.ZodOptional<z.ZodBoolean>;
    proxy: z.ZodOptional<z.ZodBoolean>;
    hosting: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * TypeScript type inferred from the IPDetailSchema.
 * Represents the expected structure of a successful ip-api.com response.
 */
export type IPDetail = z.infer<typeof IPDetailSchema>;
/**
 * Options specifically for the ip-api.com request within the service.
 * Used by the service layer when calling fetchIpApi.
 */
export type IPApiRequestOptions = {
    useHttps?: boolean;
    fields?: string[];
    lang?: string;
};
