import type { QueueId } from "@valapi/lib"; import type { PromiseResponse, ClientPlatfrom } from "@valapi/auth"; import { WebClientService } from "../client/WebClientService"; export declare namespace Party { namespace CustomGame { interface Settings { Map: string; Mode: string; UseBots: boolean; GamePod: string; GameRules: { AllowGameModifiers: `${boolean}`; PlayOutAllRounds: `${boolean}`; SkipMatchHistory: `${boolean}`; TournamentMode: `${boolean}`; IsOvertimeWinByTwo: `${boolean}`; }; } type Team = "TeamTwo" | "TeamOne" | "TeamSpectate" | "TeamOneCoaches" | "TeamTwoCoaches"; interface Member { Subject: string; } interface Config { Enabled: boolean; EnabledMaps: Array; EnabledModes: Array; Queues: Array<{ QueueID: QueueId.ID; Enabled: boolean; TeamSize: number; NumTeams: number; MaxPartySize: number; MinPartySize: number; InvalidPartySizes: Array; MaxPartySizeHighSkill: number; HighSkillTier: number; MaxSkillTier: number; AllowFullPartyBypassSkillRestrictions: boolean; ApplyRRPenaltyToFullParty: boolean; AllowFiveStackRestrictions: boolean; Mode: string; IsRanke: boolean; IsTournament: boolean; IsTournamentV2: boolean; RequireRoster: boolean; Priority: number; PartyMaxCompetitiveTierRange: number; PartyMaxCompetitiveTierRangePlacementBuffer: number; FullPartyMaxCompetitiveTierRange: number; PartySkillDisparityCompetitiveTiersCeilings: Record<`${number}`, number>; PartySkillDisparityPartySizeCompetitiveTiersCeilings: Record<`${number}`, Record<`${number}`, number>>; UseAccountLevelRequirement: boolean; MinimumAccountLevelRequired: number; GameRules: { IsOvertimeWinByTwo: boolean; }; SupportedPlatformTypes: Array; DisabledContent: Array; queueFieldA: Array; NextScheduleChangeSeconds: number; TimeUntilNextScheduleChangeSeconds: number; MapWeights: Array<`${string}:${1 | 0}`>; }>; } } type Accessibility = "OPEN" | "CLOSED"; interface GetPlayer { Subject: string; Version: number; CurrentPartyID: string; Invites: any; Requests: Array; PlatformInfo: ClientPlatfrom; } interface Party { ID: string; MUCName: string; VoiceRoomID: string; Version: number; ClientVersion: string; Members: Array<{ Subject: string; CompetitiveTier: number; PlayerIdentity: { Subject: string; PlayerCardID: string; PlayerTitleID: string; AccountLevel: number; PreferredLevelBorderID: string; Incognito: boolean; HideAccountLevel: boolean; }; SeasonalBadgeInfo: any; IsOwner: boolean; QueueEligibleRemainingAccountLevels: number; Pings: Array<{ Ping: number; GamePodID: string; }>; IsReady: boolean; IsModerator: boolean; UseBroadcastHUD: boolean; PlatformType: string; }>; State: string; PreviousState: string; StateTransitionReason: string; Accessibility: Party.Accessibility; CustomGameData: { Settings: Party.CustomGame.Settings; Membership: { teamOne: Array; teamTwo: Array; teamSpectate: Array; teamOneCoaches: Array; teamTwoCoaches: Array; }; MaxPartySize: number; AutobalanceEnabled: boolean; AutobalanceMinPlayers: number; HasRecoveryData: boolean; }; MatchmakingData: { QueueID: QueueId.ID; PreferredGamePods: Array; SkillDisparityRRPenalty: number; }; Invites: any; Requests: Array; QueueEntryTime: Date; ErrorNotification: { ErrorType: string; ErroredPlayers: any; }; RestrictedSeconds: number; EligibleQueues: Array; QueueIneligibilities: Array; CheatData: { GamePodOverride: string; ForcePostGameProcessing: boolean; }; XPBonuses: Array<{ ID: string; Applied: boolean; }>; InviteCode: string; } } export declare class Party extends WebClientService { refreshCompetitiveTier(subject: string, partyId: string): PromiseResponse; refreshPlayerIdentity(subject: string, partyId: string): PromiseResponse; refreshPings(subject: string, partyId: string): PromiseResponse; get(partyId: string): PromiseResponse; getMUCToken(partyId: string): PromiseResponse; getVoiceToken(partyId: string): PromiseResponse; setAccessibility(partyId: string, accessibility: Party.Accessibility): PromiseResponse; inviteByDisplayName(partyId: string, gameName: string, tagLine: string): PromiseResponse; declineJoinRequest(partyId: string, requestId: string): PromiseResponse; get MatchMaking(): MatchMaking; get Player(): Player; get CustomGame(): CustomGame; get PartyCode(): PartyCode; } export declare class MatchMaking extends WebClientService { /** * @param queueId Queue (EligibleQueues) */ changeQueue(partyId: string, queueId: QueueId.ID): PromiseResponse; makeDefaultQueue(partyId: string, queueId: QueueId.ID): PromiseResponse; /** * ! Careful to use, Riot will immediately shut down your Project. * @deprecated Please, Contact us if you find out how its works */ startSoloExperience(subject: string): PromiseResponse; start(partyId: string): PromiseResponse; leave(partyId: string): PromiseResponse; } export declare class Player extends WebClientService { get(subject: string): PromiseResponse; remove(subject: string): PromiseResponse; joinParty(subject: string, partyId: string): PromiseResponse; leaveParty(subject: string, partyId: string): PromiseResponse; setReady(subject: string, partyId: string, isReady: boolean): PromiseResponse; leaveFromParty(subject: string, partyId: string): PromiseResponse; transferOwner(subject: string, partyId: string): PromiseResponse; } export declare class CustomGame extends WebClientService { makeInto(partyId: string): PromiseResponse; start(partyId: string): PromiseResponse; changeSettings(partyId: string, settings: Party.CustomGame.Settings): PromiseResponse; changeTeam(partyId: string, team: Party.CustomGame.Team, subject: string): PromiseResponse; setBalance(partyId: string): PromiseResponse; getConfig(): PromiseResponse; } export declare class PartyCode extends WebClientService { create(partyId: string): PromiseResponse; delete(partyId: string): PromiseResponse; join(partyCode: string): PromiseResponse; }