import { EmailAddress, UniqueID } from "@/core/common/domain";
import { Collection, Result } from "@repo/rdx-utils";
import { Contact } from "../aggregates";

export interface IContactRepository {
  findAll(transaction?: any): Promise<Result<Collection<Contact>, Error>>;
  findById(id: UniqueID, transaction?: any): Promise<Result<Contact, Error>>;
  findByEmail(email: EmailAddress, transaction?: any): Promise<Result<Contact, Error>>;
}
