import type {
  PrivateAlbumsResponse,
  PrivateAlbumUnlockResponse,
} from "@/data/dto/private-room";
import type { Result } from "@/utils/result";

export interface GetPrivateAlbumsInput {
  character?: string;
  limit?: number;
}

export interface IPrivateRoomRepository {
  getAlbums(
    input?: GetPrivateAlbumsInput,
  ): Promise<Result<PrivateAlbumsResponse>>;

  unlockAlbum(
    albumId: string,
    expectedCost: number,
  ): Promise<Result<PrivateAlbumUnlockResponse>>;
}
