import { DomainRepository } from "../types/DomainRepository"; import { DomainDto } from "../types/Domain"; import { SaveResult } from "../types/SaveResult"; import PageDto from "../types/PageDto"; import HostRepository from "../types/HostRepository"; export default class DomainManager { private repository; hostRepository: HostRepository; constructor(repository: DomainRepository, hostRepository: HostRepository); findById(id: string): Promise; findByName(name: string): Promise; getPage(page: number, size: number, search?: string): Promise>; create(dto: DomainDto): Promise>; saveById(dto: DomainDto): Promise>; mergeById(id: string, dto: DomainDto): Promise>; mergeByName(name: string, dto: DomainDto): Promise>; deleteById(id: string): Promise>; deleteByName(name: string): Promise>; private merge; private validateName; }