bungie-net-core
Version:
An easy way to interact with the Bungie.net API
679 lines (678 loc) • 34.7 kB
TypeScript
/**
* Bungie.Net API
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
*
* Contact: support@bungie.com
*
* NOTE: This class is auto generated by the bungie-net-core code generator program
* Repository: {@link https://github.com/owens1127/bungie-net-core}
* Do not edit these files manually.
*/
import { BungieHttpProtocol } from './..';
import { BungieNetResponse } from '../interfaces/BungieNetResponse';
import { DestinyManifest } from '../models/Destiny/Config/DestinyManifest';
import { AllManifestComponents } from '../manifest/types';
import { DestinyDefinition } from '../interfaces/DestinyDefinition';
import { BungieMembershipType } from '../models/BungieMembershipType';
import { ExactSearchRequest } from '../models/User/ExactSearchRequest';
import { UserInfoCard } from '../models/User/UserInfoCard';
import { DestinyLinkedProfilesResponse } from '../models/Destiny/Responses/DestinyLinkedProfilesResponse';
import { DestinyComponentType } from '../models/Destiny/DestinyComponentType';
import { DestinyProfileResponse } from '../models/Destiny/Responses/DestinyProfileResponse';
import { DestinyCharacterResponse } from '../models/Destiny/Responses/DestinyCharacterResponse';
import { DestinyMilestone } from '../models/Destiny/Milestones/DestinyMilestone';
import { ClanBannerSource } from '../models/Config/ClanBanner/ClanBannerSource';
import { DestinyItemResponse } from '../models/Destiny/Responses/DestinyItemResponse';
import { DestinyVendorFilter } from '../models/Destiny/DestinyVendorFilter';
import { DestinyVendorsResponse } from '../models/Destiny/Responses/DestinyVendorsResponse';
import { DestinyVendorResponse } from '../models/Destiny/Responses/DestinyVendorResponse';
import { DestinyPublicVendorsResponse } from '../models/Destiny/Responses/DestinyPublicVendorsResponse';
import { DestinyCollectibleNodeDetailResponse } from '../models/Destiny/Responses/DestinyCollectibleNodeDetailResponse';
import { DestinyItemTransferRequest } from '../models/Destiny/Requests/DestinyItemTransferRequest';
import { DestinyPostmasterTransferRequest } from '../models/Destiny/Requests/Actions/DestinyPostmasterTransferRequest';
import { DestinyItemActionRequest } from '../models/Destiny/Requests/Actions/DestinyItemActionRequest';
import { DestinyItemSetActionRequest } from '../models/Destiny/Requests/Actions/DestinyItemSetActionRequest';
import { DestinyEquipItemResults } from '../models/Destiny/DestinyEquipItemResults';
import { DestinyLoadoutActionRequest } from '../models/Destiny/Requests/Actions/DestinyLoadoutActionRequest';
import { DestinyLoadoutUpdateActionRequest } from '../models/Destiny/Requests/Actions/DestinyLoadoutUpdateActionRequest';
import { DestinyItemStateRequest } from '../models/Destiny/Requests/Actions/DestinyItemStateRequest';
import { DestinyInsertPlugsActionRequest } from '../models/Destiny/Requests/Actions/DestinyInsertPlugsActionRequest';
import { DestinyItemChangeResponse } from '../models/Destiny/Responses/DestinyItemChangeResponse';
import { DestinyInsertPlugsFreeActionRequest } from '../models/Destiny/Requests/Actions/DestinyInsertPlugsFreeActionRequest';
import { DestinyPostGameCarnageReportData } from '../models/Destiny/HistoricalStats/DestinyPostGameCarnageReportData';
import { DestinyReportOffensePgcrRequest } from '../models/Destiny/Reporting/Requests/DestinyReportOffensePgcrRequest';
import { DestinyHistoricalStatsDefinition } from '../models/Destiny/HistoricalStats/Definitions/DestinyHistoricalStatsDefinition';
import { DestinyLeaderboard } from '../models/Destiny/HistoricalStats/DestinyLeaderboard';
import { DestinyClanAggregateStat } from '../models/Destiny/HistoricalStats/DestinyClanAggregateStat';
import { DestinyEntitySearchResult } from '../models/Destiny/Definitions/DestinyEntitySearchResult';
import { DestinyStatsGroupType } from '../models/Destiny/HistoricalStats/Definitions/DestinyStatsGroupType';
import { DestinyActivityModeType } from '../models/Destiny/HistoricalStats/Definitions/DestinyActivityModeType';
import { PeriodType } from '../models/Destiny/HistoricalStats/Definitions/PeriodType';
import { DestinyHistoricalStatsByPeriod } from '../models/Destiny/HistoricalStats/DestinyHistoricalStatsByPeriod';
import { DestinyHistoricalStatsAccountResult } from '../models/Destiny/HistoricalStats/DestinyHistoricalStatsAccountResult';
import { DestinyActivityHistoryResults } from '../models/Destiny/HistoricalStats/DestinyActivityHistoryResults';
import { DestinyHistoricalWeaponStatsData } from '../models/Destiny/HistoricalStats/DestinyHistoricalWeaponStatsData';
import { DestinyAggregateActivityResults } from '../models/Destiny/HistoricalStats/DestinyAggregateActivityResults';
import { DestinyMilestoneContent } from '../models/Destiny/Milestones/DestinyMilestoneContent';
import { DestinyPublicMilestone } from '../models/Destiny/Milestones/DestinyPublicMilestone';
import { AwaPermissionRequested } from '../models/Destiny/Advanced/AwaPermissionRequested';
import { AwaInitializeResponse } from '../models/Destiny/Advanced/AwaInitializeResponse';
import { AwaUserResponse } from '../models/Destiny/Advanced/AwaUserResponse';
import { AwaAuthorizationResult } from '../models/Destiny/Advanced/AwaAuthorizationResult';
/**
* Returns the current version of the manifest as a json object.
* @see {@link https://bungie-net.github.io/#Destiny2.GetDestinyManifest}
*/
export declare function getDestinyManifest(http: BungieHttpProtocol): Promise<BungieNetResponse<DestinyManifest>>;
/**
* Returns the static definition of an entity of the given Type and hash identifier.
* Examine the API Documentation for the Type Names of entities that have their
* own definitions. Note that the return type will always *inherit from*
* DestinyDefinition, but the specific type returned will be the requested entity
* type if it can be found. Please don't use this as a chatty alternative to the
* Manifest database if you require large sets of data, but for simple and one-off
* accesses this should be handy.
* @see {@link https://bungie-net.github.io/#Destiny2.GetDestinyEntityDefinition}
*/
export declare function getDestinyEntityDefinition<T extends keyof AllManifestComponents>(http: BungieHttpProtocol, params: {
/**
* The type of entity for whom you would like results. These correspond to the
* entity's definition contract name. For instance, if you are looking for items,
* this property should be 'DestinyInventoryItemDefinition'. PREVIEW: This endpoint
* is still in beta, and may experience rough edges. The schema is tentatively in
* final form, but there may be bugs that prevent desirable operation.
*/
entityType: T;
/** The hash identifier for the specific Entity you want returned. */
hashIdentifier: number;
}): Promise<BungieNetResponse<DestinyDefinition<AllManifestComponents[T]>>>;
/**
* Returns a list of Destiny memberships given a global Bungie Display Name. This
* method will hide overridden memberships due to cross save.
* @see {@link https://bungie-net.github.io/#Destiny2.SearchDestinyPlayerByBungieName}
*/
export declare function searchDestinyPlayerByBungieName(http: BungieHttpProtocol, params: {
/**
* A valid non-BungieNet membership type, or All. Indicates which memberships to
* return. You probably want this set to All.
*/
membershipType: BungieMembershipType;
}, body: ExactSearchRequest): Promise<BungieNetResponse<UserInfoCard[]>>;
/**
* Returns a summary information about all profiles linked to the requesting
* membership type/membership ID that have valid Destiny information. The passed-in
* Membership Type/Membership ID may be a Bungie.Net membership or a Destiny
* membership. It only returns the minimal amount of data to begin making more
* substantive requests, but will hopefully serve as a useful alternative to
* UserServices for people who just care about Destiny data. Note that it will only
* return linked accounts whose linkages you are allowed to view.
* @see {@link https://bungie-net.github.io/#Destiny2.GetLinkedProfiles}
*/
export declare function getLinkedProfiles(http: BungieHttpProtocol, params: {
/**
* (optional) if set to 'true', all memberships regardless of whether they're
* obscured by overrides will be returned. Normal privacy restrictions on account
* linking will still apply no matter what.
*/
getAllMemberships?: boolean;
/**
* The ID of the membership whose linked Destiny accounts you want returned. Make
* sure your membership ID matches its Membership Type: don't pass us a PSN
* membership ID and the XBox membership type, it's not going to work!
*/
membershipId: string;
/** The type for the membership whose linked Destiny accounts you want returned. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyLinkedProfilesResponse>>;
/**
* Returns Destiny Profile information for the supplied membership.
* @see {@link https://bungie-net.github.io/#Destiny2.GetProfile}
*/
export declare function getProfile<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** Destiny membership ID. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyProfileResponse<K>>>;
/**
* Returns character information for the supplied character.
* @see {@link https://bungie-net.github.io/#Destiny2.GetCharacter}
*/
export declare function getCharacter<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/** ID of the character. */
characterId: string;
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** Destiny membership ID. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyCharacterResponse<K>>>;
/**
* Returns information on the weekly clan rewards and if the clan has earned them
* or not. Note that this will always report rewards as not redeemed.
* @see {@link https://bungie-net.github.io/#Destiny2.GetClanWeeklyRewardState}
*/
export declare function getClanWeeklyRewardState(http: BungieHttpProtocol, params: {
/** A valid group id of clan. */
groupId: string;
}): Promise<BungieNetResponse<DestinyMilestone>>;
/**
* Returns the dictionary of values for the Clan Banner
* @see {@link https://bungie-net.github.io/#Destiny2.GetClanBannerSource}
*/
export declare function getClanBannerSource(http: BungieHttpProtocol): Promise<BungieNetResponse<ClanBannerSource>>;
/**
* Retrieve the details of an instanced Destiny Item. An instanced Destiny item is
* one with an ItemInstanceId. Non-instanced items, such as materials, have no
* useful instance-specific details and thus are not queryable here.
* @see {@link https://bungie-net.github.io/#Destiny2.GetItem}
*/
export declare function getItem<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** The membership ID of the destiny profile. */
destinyMembershipId: string;
/** The Instance ID of the destiny item. */
itemInstanceId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyItemResponse<K>>>;
/**
* Get currently available vendors from the list of vendors that can possibly have
* rotating inventory. Note that this does not include things like preview vendors
* and vendors-as-kiosks, neither of whom have rotating/dynamic inventories. Use
* their definitions as-is for those.
* @see {@link https://bungie-net.github.io/#Destiny2.GetVendors}
*/
export declare function getVendors<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/** The Destiny Character ID of the character for whom we're getting vendor info. */
characterId: string;
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** Destiny membership ID of another user. You may be denied. */
destinyMembershipId: string;
/** The filter of what vendors and items to return, if any. */
filter?: DestinyVendorFilter;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyVendorsResponse<K>>>;
/**
* Get the details of a specific Vendor.
* @see {@link https://bungie-net.github.io/#Destiny2.GetVendor}
*/
export declare function getVendor<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/** The Destiny Character ID of the character for whom we're getting vendor info. */
characterId: string;
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** Destiny membership ID of another user. You may be denied. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
/** The Hash identifier of the Vendor to be returned. */
vendorHash: number;
}): Promise<BungieNetResponse<DestinyVendorResponse<K>>>;
/**
* Get items available from vendors where the vendors have items for sale that are
* common for everyone. If any portion of the Vendor's available inventory is
* character or account specific, we will be unable to return their data from this
* endpoint due to the way that available inventory is computed. As I am often
* guilty of saying: 'It's a long story...'
* @see {@link https://bungie-net.github.io/#Destiny2.GetPublicVendors}
*/
export declare function getPublicVendors<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
}): Promise<BungieNetResponse<DestinyPublicVendorsResponse<K>>>;
/**
* Given a Presentation Node that has Collectibles as direct descendants, this will
* return item details about those descendants in the context of the requesting
* character.
* @see {@link https://bungie-net.github.io/#Destiny2.GetCollectibleNodeDetails}
*/
export declare function getCollectibleNodeDetails<K extends readonly DestinyComponentType[]>(http: BungieHttpProtocol, params: {
/**
* The Destiny Character ID of the character for whom we're getting collectible
* detail info.
*/
characterId: string;
/**
* The hash identifier of the Presentation Node for whom we should return
* collectible details. Details will only be returned for collectibles that are
* direct descendants of this node.
*/
collectiblePresentationNodeHash: number;
/**
* A comma separated list of components to return (as strings or numeric values).
* See the DestinyComponentType enum for valid components to request. You must
* request at least one component to receive results.
*/
components: [...K];
/** Destiny membership ID of another user. You may be denied. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyCollectibleNodeDetailResponse<K>>>;
/**
* Transfer an item to/from your vault. You must have a valid Destiny account. You
* must also pass BOTH a reference AND an instance ID if it's an instanced item.
* itshappening.gif
*
* Wait at least 0.1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.TransferItem}
*/
export declare function transferItem(http: BungieHttpProtocol, body: DestinyItemTransferRequest): Promise<BungieNetResponse<number>>;
/**
* Extract an item from the Postmaster, with whatever implications that may entail.
* You must have a valid Destiny account. You must also pass BOTH a reference AND
* an instance ID if it's an instanced item.
*
* Wait at least 0.1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.PullFromPostmaster}
*/
export declare function pullFromPostmaster(http: BungieHttpProtocol, body: DestinyPostmasterTransferRequest): Promise<BungieNetResponse<number>>;
/**
* Equip an item. You must have a valid Destiny Account, and either be in a social
* space, in orbit, or offline.
*
* Wait at least 0.1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.EquipItem}
*/
export declare function equipItem(http: BungieHttpProtocol, body: DestinyItemActionRequest): Promise<BungieNetResponse<number>>;
/**
* Equip a list of items by itemInstanceIds. You must have a valid Destiny Account,
* and either be in a social space, in orbit, or offline. Any items not found on
* your character will be ignored.
*
* Wait at least 0.1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.EquipItems}
*/
export declare function equipItems(http: BungieHttpProtocol, body: DestinyItemSetActionRequest): Promise<BungieNetResponse<DestinyEquipItemResults>>;
/**
* Equip a loadout. You must have a valid Destiny Account, and either be in a
* social space, in orbit, or offline.
*
* Wait at least 1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.EquipLoadout}
*/
export declare function equipLoadout(http: BungieHttpProtocol, body: DestinyLoadoutActionRequest): Promise<BungieNetResponse<number>>;
/**
* Snapshot a loadout with the currently equipped items.
*
* Wait at least 1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.SnapshotLoadout}
*/
export declare function snapshotLoadout(http: BungieHttpProtocol, body: DestinyLoadoutUpdateActionRequest): Promise<BungieNetResponse<number>>;
/**
* Update the color, icon, and name of a loadout.
*
* Wait at least 1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.UpdateLoadoutIdentifiers}
*/
export declare function updateLoadoutIdentifiers(http: BungieHttpProtocol, body: DestinyLoadoutUpdateActionRequest): Promise<BungieNetResponse<number>>;
/**
* Clear the identifiers and items of a loadout.
*
* Wait at least 1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.ClearLoadout}
*/
export declare function clearLoadout(http: BungieHttpProtocol, body: DestinyLoadoutActionRequest): Promise<BungieNetResponse<number>>;
/**
* Set the Lock State for an instanced item. You must have a valid Destiny Account.
*
* Wait at least 0.1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.SetItemLockState}
*/
export declare function setItemLockState(http: BungieHttpProtocol, body: DestinyItemStateRequest): Promise<BungieNetResponse<number>>;
/**
* Set the Tracking State for an instanced item, if that item is a Quest or Bounty.
* You must have a valid Destiny Account. Yeah, it's an item.
*
* Wait at least 1s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.SetQuestTrackedState}
*/
export declare function setQuestTrackedState(http: BungieHttpProtocol, body: DestinyItemStateRequest): Promise<BungieNetResponse<number>>;
/**
* Insert a plug into a socketed item. I know how it sounds, but I assure you it's
* much more G-rated than you might be guessing. We haven't decided yet whether
* this will be able to insert plugs that have side effects, but if we do it will
* require special scope permission for an application attempting to do so. You
* must have a valid Destiny Account, and either be in a social space, in orbit, or
* offline. Request must include proof of permission for 'InsertPlugs' from the
* account owner.
*
* Wait at least 0.5s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.InsertSocketPlug}
*/
export declare function insertSocketPlug(http: BungieHttpProtocol, body: DestinyInsertPlugsActionRequest): Promise<BungieNetResponse<DestinyItemChangeResponse>>;
/**
* Insert a 'free' plug into an item's socket. This does not require 'Advanced
* Write Action' authorization and is available to 3rd-party apps, but will only
* work on 'free and reversible' socket actions (Perks, Armor Mods, Shaders,
* Ornaments, etc.). You must have a valid Destiny Account, and the character must
* either be in a social space, in orbit, or offline.
*
* Wait at least 0.5s between actions.
* @see {@link https://bungie-net.github.io/#Destiny2.InsertSocketPlugFree}
*/
export declare function insertSocketPlugFree(http: BungieHttpProtocol, body: DestinyInsertPlugsFreeActionRequest): Promise<BungieNetResponse<DestinyItemChangeResponse>>;
/**
* Gets the available post game carnage report for the activity ID.
* @see {@link https://bungie-net.github.io/#Destiny2.GetPostGameCarnageReport}
*/
export declare function getPostGameCarnageReport(http: BungieHttpProtocol, params: {
/** The ID of the activity whose PGCR is requested. */
activityId: string;
}): Promise<BungieNetResponse<DestinyPostGameCarnageReportData>>;
/**
* Report a player that you met in an activity that was engaging in ToS-violating
* activities. Both you and the offending player must have played in the activityId
* passed in. Please use this judiciously and only when you have strong suspicions
* of violation, pretty please.
* @see {@link https://bungie-net.github.io/#Destiny2.ReportOffensivePostGameCarnageReportPlayer}
*/
export declare function reportOffensivePostGameCarnageReportPlayer(http: BungieHttpProtocol, params: {
/** The ID of the activity where you ran into the brigand that you're reporting. */
activityId: string;
}, body: DestinyReportOffensePgcrRequest): Promise<BungieNetResponse<number>>;
/**
* Gets historical stats definitions.
* @see {@link https://bungie-net.github.io/#Destiny2.GetHistoricalStatsDefinition}
*/
export declare function getHistoricalStatsDefinition(http: BungieHttpProtocol): Promise<BungieNetResponse<{
[]: DestinyHistoricalStatsDefinition;
}>>;
/**
* Gets leaderboards with the signed in user's friends and the supplied
* destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and
* may experience rough edges. The schema is in final form, but there may be bugs
* that prevent desirable operation.
* @see {@link https://bungie-net.github.io/#Destiny2.GetClanLeaderboards}
*/
export declare function getClanLeaderboards(http: BungieHttpProtocol, params: {
/** Group ID of the clan whose leaderboards you wish to fetch. */
groupId: string;
/**
* Maximum number of top players to return. Use a large number to get entire
* leaderboard.
*/
maxtop?: number;
/**
* List of game modes for which to get leaderboards. See the documentation for
* DestinyActivityModeType for valid values, and pass in string representation,
* comma delimited.
*/
modes?: string;
/** ID of stat to return rather than returning all Leaderboard stats. */
statid?: string;
}): Promise<BungieNetResponse<{
[]: {
[]: DestinyLeaderboard;
};
}>>;
/**
* Gets aggregated stats for a clan using the same categories as the clan
* leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough
* edges. The schema is in final form, but there may be bugs that prevent desirable
* operation.
* @see {@link https://bungie-net.github.io/#Destiny2.GetClanAggregateStats}
*/
export declare function getClanAggregateStats(http: BungieHttpProtocol, params: {
/** Group ID of the clan whose leaderboards you wish to fetch. */
groupId: string;
/**
* List of game modes for which to get leaderboards. See the documentation for
* DestinyActivityModeType for valid values, and pass in string representation,
* comma delimited.
*/
modes?: string;
}): Promise<BungieNetResponse<DestinyClanAggregateStat[]>>;
/**
* Gets leaderboards with the signed in user's friends and the supplied
* destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been
* implemented. It is being returned for a preview of future functionality, and for
* public comment/suggestion/preparation.
* @see {@link https://bungie-net.github.io/#Destiny2.GetLeaderboards}
*/
export declare function getLeaderboards(http: BungieHttpProtocol, params: {
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/**
* Maximum number of top players to return. Use a large number to get entire
* leaderboard.
*/
maxtop?: number;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
/**
* List of game modes for which to get leaderboards. See the documentation for
* DestinyActivityModeType for valid values, and pass in string representation,
* comma delimited.
*/
modes?: string;
/** ID of stat to return rather than returning all Leaderboard stats. */
statid?: string;
}): Promise<BungieNetResponse<{
[]: {
[]: DestinyLeaderboard;
};
}>>;
/**
* Gets leaderboards with the signed in user's friends and the supplied
* destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and
* may experience rough edges. The schema is in final form, but there may be bugs
* that prevent desirable operation.
* @see {@link https://bungie-net.github.io/#Destiny2.GetLeaderboardsForCharacter}
*/
export declare function getLeaderboardsForCharacter(http: BungieHttpProtocol, params: {
/**
* The specific character to build the leaderboard around for the provided Destiny
* Membership.
*/
characterId: string;
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/**
* Maximum number of top players to return. Use a large number to get entire
* leaderboard.
*/
maxtop?: number;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
/**
* List of game modes for which to get leaderboards. See the documentation for
* DestinyActivityModeType for valid values, and pass in string representation,
* comma delimited.
*/
modes?: string;
/** ID of stat to return rather than returning all Leaderboard stats. */
statid?: string;
}): Promise<BungieNetResponse<{
[]: {
[]: DestinyLeaderboard;
};
}>>;
/**
* Gets a page list of Destiny items.
* @see {@link https://bungie-net.github.io/#Destiny2.SearchDestinyEntities}
*/
export declare function searchDestinyEntities(http: BungieHttpProtocol, params: {
/** Page number to return, starting with 0. */
page?: number;
/** The string to use when searching for Destiny entities. */
searchTerm: string;
/**
* The type of entity for whom you would like results. These correspond to the
* entity's definition contract name. For instance, if you are looking for items,
* this property should be 'DestinyInventoryItemDefinition'.
*/
type: string;
}): Promise<BungieNetResponse<DestinyEntitySearchResult>>;
/**
* Gets historical stats for indicated character.
* @see {@link https://bungie-net.github.io/#Destiny2.GetHistoricalStats}
*/
export declare function getHistoricalStats(http: BungieHttpProtocol, params: {
/**
* The id of the character to retrieve. You can omit this character ID or set it to
* 0 to get aggregate stats across all characters.
*/
characterId: string;
/**
* Last day to return when daily stats are requested. Use the format YYYY-MM-DD.
* Currently, we cannot allow more than 31 days of daily data to be requested in a
* single request.
*/
dayend?: string;
/**
* First day to return when daily stats are requested. Use the format YYYY-MM-DD.
* Currently, we cannot allow more than 31 days of daily data to be requested in a
* single request.
*/
daystart?: string;
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/**
* Group of stats to include, otherwise only general stats are returned. Comma
* separated list is allowed. Values: General, Weapons, Medals
*/
groups?: DestinyStatsGroupType[];
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
/**
* Game modes to return. See the documentation for DestinyActivityModeType for
* valid values, and pass in string representation, comma delimited.
*/
modes?: DestinyActivityModeType[];
/**
* Indicates a specific period type to return. Optional. May be: Daily, AllTime, or
* Activity
*/
periodType?: PeriodType;
}): Promise<BungieNetResponse<{
[]: DestinyHistoricalStatsByPeriod;
}>>;
/**
* Gets aggregate historical stats organized around each character for a given
* account.
* @see {@link https://bungie-net.github.io/#Destiny2.GetHistoricalStatsForAccount}
*/
export declare function getHistoricalStatsForAccount(http: BungieHttpProtocol, params: {
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/**
* Groups of stats to include, otherwise only general stats are returned. Comma
* separated list is allowed. Values: General, Weapons, Medals.
*/
groups?: DestinyStatsGroupType[];
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyHistoricalStatsAccountResult>>;
/**
* Gets activity history stats for indicated character.
* @see {@link https://bungie-net.github.io/#Destiny2.GetActivityHistory}
*/
export declare function getActivityHistory(http: BungieHttpProtocol, params: {
/** The id of the character to retrieve. */
characterId: string;
/** Number of rows to return */
count?: number;
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
/**
* A filter for the activity mode to be returned. None returns all activities. See
* the documentation for DestinyActivityModeType for valid values, and pass in
* string representation.
*/
mode?: DestinyActivityModeType;
/** Page number to return, starting with 0. */
page?: number;
}): Promise<BungieNetResponse<DestinyActivityHistoryResults>>;
/**
* Gets details about unique weapon usage, including all exotic weapons.
* @see {@link https://bungie-net.github.io/#Destiny2.GetUniqueWeaponHistory}
*/
export declare function getUniqueWeaponHistory(http: BungieHttpProtocol, params: {
/** The id of the character to retrieve. */
characterId: string;
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyHistoricalWeaponStatsData>>;
/**
* Gets all activities the character has participated in together with aggregate
* statistics for those activities.
* @see {@link https://bungie-net.github.io/#Destiny2.GetDestinyAggregateActivityStats}
*/
export declare function getDestinyAggregateActivityStats(http: BungieHttpProtocol, params: {
/** The specific character whose activities should be returned. */
characterId: string;
/** The Destiny membershipId of the user to retrieve. */
destinyMembershipId: string;
/** A valid non-BungieNet membership type. */
membershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyAggregateActivityResults>>;
/**
* Gets custom localized content for the milestone of the given hash, if it exists.
* @see {@link https://bungie-net.github.io/#Destiny2.GetPublicMilestoneContent}
*/
export declare function getPublicMilestoneContent(http: BungieHttpProtocol, params: {
/** The identifier for the milestone to be returned. */
milestoneHash: number;
}): Promise<BungieNetResponse<DestinyMilestoneContent>>;
/**
* Gets public information about currently available Milestones.
* @see {@link https://bungie-net.github.io/#Destiny2.GetPublicMilestones}
*/
export declare function getPublicMilestones(http: BungieHttpProtocol): Promise<BungieNetResponse<{
[]: DestinyPublicMilestone;
}>>;
/**
* Initialize a request to perform an advanced write action.
* @see {@link https://bungie-net.github.io/#Destiny2.AwaInitializeRequest}
*/
export declare function awaInitializeRequest(http: BungieHttpProtocol, body: AwaPermissionRequested): Promise<BungieNetResponse<AwaInitializeResponse>>;
/**
* Provide the result of the user interaction. Called by the Bungie Destiny App to
* approve or reject a request.
* @see {@link https://bungie-net.github.io/#Destiny2.AwaProvideAuthorizationResult}
*/
export declare function awaProvideAuthorizationResult(http: BungieHttpProtocol, body: AwaUserResponse): Promise<BungieNetResponse<number>>;
/**
* Returns the action token if user approves the request.
* @see {@link https://bungie-net.github.io/#Destiny2.AwaGetActionToken}
*/
export declare function awaGetActionToken(http: BungieHttpProtocol, params: {
/** The identifier for the advanced write action request. */
correlationId: string;
}): Promise<BungieNetResponse<AwaAuthorizationResult>>;