import { Repository } from 'typeorm';
import { IpEntity } from './entities/ip.entity';
import { GeoName } from '../csv-import/entities/geoname.entity';
import { CityBlockIpv4, CityBlockIpv6 } from '../csv-import/entities/city.entity';
import { IpResponseDto } from './dto/ip.response.dto';
import { CreateIpDto } from './dto/create-ip.sto';
import { AsnEntity } from '../csv-import/entities/asn.entity';
export declare class IpService {
    private ipRepository;
    private geoNameRepository;
    private cityBlockIpv4Repository;
    private cityBlockIpv6Repository;
    private asnRepository;
    private readonly logger;
    constructor(ipRepository: Repository<IpEntity>, geoNameRepository: Repository<GeoName>, cityBlockIpv4Repository: Repository<CityBlockIpv4>, cityBlockIpv6Repository: Repository<CityBlockIpv6>, asnRepository: Repository<AsnEntity>);
    private isIpv4;
    private ipToNumber;
    private findMatchingCidrIpv4;
    private findMatchingCidrIpv6;
    private convertIpToNumeric;
    private findAsnDetails;
    private freeTierResponse;
    private premiumTierResponse;
    getIpDetails(ip: string, tier: string, userAgent: string): Promise<IpResponseDto>;
    saveIpDetails(ipData: CreateIpDto): Promise<void>;
}
