import type * as TrophyApi from "../index";
/**
 * A leaderboard update object. `id` is required. Once a leaderboard has been activated, the dashboard-imposed restrictions on ranking configuration and scheduling changes still apply.
 */
export interface UpdateLeaderboardRequestItem {
    /** The UUID of the leaderboard to update. */
    id: string;
    /** The updated leaderboard name. */
    name?: string;
    /** The updated leaderboard key. This can only be changed while the leaderboard is inactive. */
    key?: string;
    /** The updated leaderboard description. */
    description?: string;
    /** The target user-facing status. `scheduled` activates a leaderboard whose start date is in the future. `finished` behaves like the dashboard finish action. */
    status?: TrophyApi.UpdateLeaderboardRequestItemStatus;
    /** The updated ranking criterion. This can only be changed while the leaderboard is inactive. */
    rankBy?: TrophyApi.UpdateLeaderboardRequestItemRankBy;
    /** The metric ID to use when `rankBy` is `metric`. */
    metricId?: string;
    /** The points system ID to use when `rankBy` is `points`. */
    pointsSystemId?: string;
    /** The updated maximum number of participants. */
    maxParticipants?: number;
    /** The updated start date in YYYY-MM-DD format. */
    start?: string;
    /** The updated end date in YYYY-MM-DD format, or `null` to clear it. */
    end?: string;
    /** The updated start of the daily ranking time window in HH:mm format, or `null` to clear it. */
    startTime?: string;
    /** The updated end of the daily ranking time window in HH:mm format, or `null` to clear it. */
    endTime?: string;
    /** The updated breakdown attribute UUIDs. */
    breakdownAttributes?: string[];
    /** The updated recurrence unit. */
    runUnit?: TrophyApi.UpdateLeaderboardRequestItemRunUnit;
    /** The updated recurrence interval. */
    runInterval?: number;
}
