import { IBaseService } from '@common-stack/store-mongo';
import { ICityInput, ICityUpdateInput, ICountryInput, ICity, ICountry, IState, IStateInput, IStateUpdateInput } from './generated-models';
import { ICountryDataLoader, IStateDataLoader, ICityDataLoader } from './data-loaders';
export interface ICityService<T = ICity, C = ICityInput, U = ICityUpdateInput> extends IBaseService<T, C, U> {
    getName(name: string): Promise<T>;
}
export interface ICountryService<T = ICountry, C = ICountryInput, U = ICountryInput> extends IBaseService<T, C, U> {
    getName(name: string): Promise<T>;
}
export interface IStateService<T = IState, C = IStateInput, U = IStateUpdateInput> extends IBaseService<T, C, U> {
    getName(name: string): Promise<T>;
}
export interface IService {
    cityService: ICityService;
    stateService: IStateService;
    countryService: ICountryService;
    countryDataLoader: ICountryDataLoader;
    stateDataLoader: IStateDataLoader;
    cityDataLoader: ICityDataLoader;
}
