import { LRUCache } from 'lru-cache'; export declare const EU_BASE_URL = "https://eu-api.ipdata.co/"; export interface CacheConfig { max?: number; ttl?: number; } export interface LookupParams { ip?: string; selectField?: string; fields?: string[]; } export interface LookupResponse { ip: string; is_eu: boolean; city?: string; region?: string; region_code?: string; country_name: string; country_code: string; continent_name: string; continent_code: string; latitude: number; longitude: number; postal?: string; calling_code: string; flag: string; emoji_flag: string; emoji_unicode: string; carrier?: { name: string; mcc: string; mnc: string; }; asn: { asn: string; name: string; domain: string; route: string; type: string; }; company?: { name: string; domain: string; network: string; type: string; }; languages: { name: string; native: string; code?: string; }[]; currency: { name: string; code: string; symbol: string; native: string; plural: string; }; time_zone: { name: string; abbr: string; offset: string; is_dst: boolean; current_time: string; }; threat: { is_tor: boolean; is_proxy: boolean; is_anonymous: boolean; is_known_attacker: boolean; is_known_abuser: boolean; is_threat: boolean; is_bogon: boolean; is_icloud_relay?: boolean; is_datacenter?: boolean; blocklists?: { name: string; site: string; type: string; }[]; }; count: number; status: number; } export declare class IPData { apiKey: string; baseUrl: string; cache: LRUCache; constructor(apiKey: string, cacheConfig?: CacheConfig, baseUrl?: string); private buildUrl; lookup(params: LookupParams): Promise; lookup(ip?: string, selectField?: string, fields?: string[]): Promise; bulkLookup(ips: string[], fields?: string[]): Promise; } export default IPData;