import { Client } from '../client.js'; export interface HourboostAccount { username: string; steamID64: string; online: boolean; status: string; games: number[]; settings: { online_status: boolean; auto_accept_friends: boolean; receive_commends: boolean; card_farming: boolean; custom_game: string | null; custom_text: string | null; game_list_id: number | null; }; [key: string]: unknown; } export interface HourboostAccountAddParams { /** Steam username */ username: string; /** Steam password */ password: string; /** Steam Guard shared secret (optional) */ sharedSecret?: string; } export interface HourboostAccountUpdateSettings { /** Show as online */ onlineStatus?: boolean; /** Auto accept friend requests */ autoAcceptFriends?: boolean; /** Receive commends */ receiveCommends?: boolean; /** Enable card farming */ cardFarming?: boolean; /** Custom game name */ customGame?: string; /** Custom status text */ customText?: string; /** Game list ID to use, or null to clear */ gameListId?: number | null; } export interface HourboostGameList { id: number; name: string; games: number[]; [key: string]: unknown; } export interface HourboostGameListCreateParams { /** List name */ name: string; /** Array of Steam App IDs */ games: number[]; } export interface HourboostGameListUpdateParams { /** New name */ name?: string; /** New array of Steam App IDs */ games?: number[]; } /** * Hourboost accounts sub-resource */ export class HourboostAccountsResource { constructor(client: Client); /** List all Steam accounts */ list(): Promise; /** Add a new Steam account */ add(params: HourboostAccountAddParams): Promise; /** Get a specific Steam account */ get(username: string): Promise; /** Update Steam account settings */ update(username: string, settings: HourboostAccountUpdateSettings): Promise<{ success: boolean; message?: string }>; /** Start hourboost for an account */ start(username: string): Promise<{ success: boolean; message?: string }>; /** Stop hourboost for an account */ stop(username: string): Promise<{ success: boolean; message?: string }>; /** Remove a Steam account */ remove(username: string): Promise<{ success: boolean; message?: string }>; /** Submit Steam Guard code */ submitGuard(username: string, code: string): Promise<{ success: boolean; message?: string }>; /** Set game list for an account */ setGameList(username: string, gameListId: number | null): Promise<{ success: boolean; message?: string }>; } /** * Hourboost game lists sub-resource */ export class HourboostGameListsResource { constructor(client: Client); /** List all game lists */ list(): Promise; /** Create a new game list */ create(params: HourboostGameListCreateParams): Promise; /** Get a specific game list */ get(listId: number): Promise; /** Update a game list */ update(listId: number, params: HourboostGameListUpdateParams): Promise; /** Delete a game list */ delete(listId: number): Promise<{ success: boolean; message?: string }>; } /** * Hourboost operations */ import { AchievementsResource } from './achievements.js'; export class HourboostResource { accounts: HourboostAccountsResource; gamelists: HourboostGameListsResource; achievements: AchievementsResource; constructor(client: Client); }