import { Client } from '../client.js'; export type InteractionTargetType = 'sharedfile' | 'review'; export interface LikeCreateParams { /** * Steam sharedfile URL (artwork, screenshot, workshop item, guide) OR review URL. * * Sharedfile: `https://steamcommunity.com/sharedfiles/filedetails/?id={id}` * Review: `https://steamcommunity.com/id/{vanity}/recommended/{appid}/` * `https://steamcommunity.com/profiles/{steamid64}/recommended/{appid}/` */ steamId: string; /** Number of likes to send (each uses 1 distinct bot) */ amount: number; } export interface LikeSession { session_id: number; /** For sharedfiles: published_file_id. For reviews: Steam's recommendationid (scraped from the page). */ sharedfile_id: string; /** Whether this session targets a sharedfile or a review */ target_type: InteractionTargetType; type: 'like'; requested: number; success: number; failed: number; status: 'QUEUED' | 'running' | 'done' | 'canceled'; daily_used?: number; credits_used?: number; createdAt?: string; updatedAt?: string; [key: string]: unknown; } export interface LikeListParams { /** Max results (1-100, default: 20) */ limit?: number; } /** * Steam like (upvote) operations */ export class LikeResource { constructor(client: Client); /** * Queue a like session */ create(params: LikeCreateParams): Promise; /** * Get like session status */ get(sessionId: number): Promise; /** * List like sessions */ list(params?: LikeListParams): Promise; /** * Cancel a like session */ cancel(sessionId: number): Promise<{ success: boolean; message?: string }>; }