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

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

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

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