///
import { Reader } from 'mmdb-lib';
import { CityResponse } from 'maxmind';
import EventEmitter from 'events';
export type TEdition = 'City' | 'ASN' | 'Country';
export interface IMaxMindOptions {
licenseKey: string;
maxItemsInCache?: number;
edition?: TEdition;
updateSchedule?: string;
dbDir?: string;
noExitOnError?: boolean;
eventEmitter?: EventEmitter;
}
export interface IMaxMindConfig {
maxMind: IMaxMindOptions;
}
export interface CityResponseEx {
continent?: string;
continentCode?: string;
country?: string;
countryISOCode?: string;
city?: string;
latitude?: number;
longitude?: number;
postalCode?: string;
subdivision?: string;
}
export interface IGeoIP {
reader?: Reader;
setReader: (reader: Reader) => void;
eventEmitter?: EventEmitter;
ready: boolean;
checkReady: () => void;
dbRevision: number;
dbDate: string;
dbDir: string;
lookup: (ipAddress: string) => CityResponse | null;
lookupEx: (ipAddress: string, lang?: string) => CityResponseEx | null;
transferOptions: (options: IMaxMindOptions) => void;
}
//# sourceMappingURL=interfaces.d.ts.map