import { CityRepository } from "../repositories/city.repository";
import { CreateCityDto } from "../dto/create-city.dto";
import { FindAllCityDto } from "../dto/find-all-city.dto";
import { City } from "../entities/city.entity";
import { UpdateCityDto } from "../dto/update-city.dto";
import { Repository } from "typeorm";
import { UpsertLocationDto } from "../dto/upsert-location.dto";
import { CountryRepository } from "../../country/repositories/country.repository";
import { StateRepository } from "../../state/repositories/state.repository";
export declare class CityService {
    private readonly cityRepository;
    private readonly countryRepository;
    private readonly stateRepository;
    private readonly cityModelRepository;
    constructor(cityRepository: CityRepository, countryRepository: CountryRepository, stateRepository: StateRepository, cityModelRepository: Repository<City>);
    checkCityExist(name: string, excludeId?: number): Promise<boolean>;
    createCity(createCityDto: CreateCityDto): Promise<City | {
        success: boolean;
        code: number;
        message: string;
    }>;
    findAllCities(params: FindAllCityDto): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: number | City | City[] | import("../../../common/interfaces/pagination-result.interface").PaginatedResult<City>;
    }>;
    findOneCity(id: number): Promise<City>;
    updateCity(id: number, updateCityDto: UpdateCityDto): Promise<City | {
        success: boolean;
        code: number;
        message: string;
    }>;
    remove(id: number): Promise<string | {
        success: boolean;
        code: number;
        message: string;
    }>;
    getCityDropdown(): Promise<number | City | City[] | {
        success: boolean;
        code: number;
        message: string;
    } | import("../../../common/interfaces/pagination-result.interface").PaginatedResult<City>>;
    getCityDetailsForDropdown(id: number): Promise<{
        success: boolean;
        code: number;
        message: string;
    } | {
        success: boolean;
        code: number;
        message: string;
        data: number | City | City[] | import("../../../common/interfaces/pagination-result.interface").PaginatedResult<City>;
    }>;
    upsertLocation(dto: UpsertLocationDto): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
}
