import type { PromiseResponse } from "@valapi/auth"; import { WebClientService } from "../client/WebClientService"; export declare namespace Contracts { interface Contracts { Version: number; Subject: string; Contracts: Array<{ ContractDefinitionID: string; ContractProgression: { TotalProgressionEarned: number; TotalProgressionEarnedVersion: number; HighestRewardedLevel: Record; }; ProgressionLevelReached: number; ProgressionTowardsNextLevel: number; }>; ProcessedMatches: Array<{ ID: string; StartTime: number; XPGrants: { GamePlayed: number; GameWon: number; RoundPlayed: number; RoundWon: number; Missions: Record; Modifier: { Value: number; BaseMultiplierValue: number; Modifiers: Array<{ Value: number; Name: string; BaseOnly: boolean; }>; }; NumAFKRounds: number; }; DoughGrants?: { GamePlayed: number; RoundPlayed: number; RoundWon: number; }; RewardGrants: Record; WalletRewards: Array<{ CurrencyID: string; Amount: 10; }>; CounterRewards: any; }>; MissionDeltas: Record; ObjectiveDeltas: Record; }>; ContractDeltas: Record; RecruitmentProgressUpdate?: { GroupID: string; ProgressBefore: number; ProgressAfter: number; MilestoneThreshold: number; }; CouldProgressMissions: boolean; MatchSummary: { RoundsTotal: number; RoundsWon: number; }; }>; ActiveSpecialContract: string; Missions: Array<{ ID: string; Objectives: Record; Complete: boolean; ExpirationTime: Date; }>; MissionMetadata: { NPECompleted: boolean; WeeklyCheckpoint: string; WeeklyRefillTime?: string; }; } } export declare class Contracts extends WebClientService { get(subject: string): PromiseResponse; activate(subject: string, contractId: string): PromiseResponse; /** * @deprecated Please, Contact us if you find out how its works */ unlockItemProgression(subject: string, definitionId: string): PromiseResponse; /** * @deprecated Please, Contact us if you find out how its works */ unlockContractProgression(subject: string, contractId: string): PromiseResponse; /** * @deprecated Please, Contact us if you find out how its works */ unlockItemSidegrade(subject: string, definitionId: string, sidegradeId: string, optionId: string): PromiseResponse; /** * @deprecated Please, Contact us if you find out how its works */ upgrade(subject: string, contractId: string): PromiseResponse; }