import { ObserverCallback, ObserverDestructor } from "../services/Observable"; import Domain from "../types/Domain"; import DomainRepository from "../types/DomainRepository"; import ObservableRepository, { RepositoryEvent as RepositoryEvent } from "../types/ObservableRepository"; export default class DomainRepositoryAdapter implements DomainRepository, ObservableRepository { private _observer; private _repository; constructor(repository: DomainRepository); initialize?(): void; destroy?(): void; findById(id: string, allowDeleted?: true): Promise; findByName(name: string, allowDeleted?: true): Promise; getPage(page: number, size: number, search?: string): Promise; getCount(search?: string): Promise; create(domain: Domain): Promise; update(domain: Domain): Promise; delete(id: string): Promise; on(name: RepositoryEvent, callback: ObserverCallback): ObserverDestructor; }