/**
 * 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<{
    [key: string]: 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<{
    [key: string]: {
        [key: string]: 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<{
    [key: string]: {
        [key: string]: 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<{
    [key: string]: {
        [key: string]: 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<{
    [key: string]: 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<{
    [key: number]: 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>>;
