// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT

// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore: Unused imports
import * as library$0 from "../library/models.js";

/**
 * Kind identifies what a shelf is built from, so the frontend can pick
 * an icon and the e2e suite can assert on a shelf without matching
 * display copy.
 */
export enum Kind {
    /**
     * The Go zero value for the underlying type of the enum.
     */
    $zero = "",

    /**
     * Shelf kinds.
     */
    KindRecentlyPlayed = "recently-played",
    KindRecentlyAdded = "recently-added",
    KindMostPlayed = "most-played",
    KindUnplayed = "unplayed",
    KindStale = "stale",
    KindArtist = "artist",
    KindGenre = "genre",
    KindRandom = "random",
};

/**
 * Shelf is one horizontal row on the home page.
 */
export interface Shelf {
    /**
     * ID is stable within a response, for list keying.
     */
    "id": string;
    "kind": Kind;

    /**
     * Title is the row heading.
     */
    "title": string;

    /**
     * Subtitle says why these albums are here.  It is not decoration:
     * without it a shelf is indistinguishable from a random grid.
     */
    "subtitle": string;
    "albums": library$0.Album[] | null;
}
