/**
 * 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 { BungieMembershipType } from '../models/BungieMembershipType';
import { BungieHttpProtocol } from './..';
import { BungieNetResponse } from '../interfaces/BungieNetResponse';
import { DestinyFireteamFinderApplicationType } from '../models/FireteamFinder/DestinyFireteamFinderApplicationType';
import { DestinyFireteamFinderApplyToListingResponse } from '../models/FireteamFinder/DestinyFireteamFinderApplyToListingResponse';
import { DestinyFireteamFinderBulkGetListingStatusRequest } from '../models/FireteamFinder/DestinyFireteamFinderBulkGetListingStatusRequest';
import { DestinyFireteamFinderBulkGetListingStatusResponse } from '../models/FireteamFinder/DestinyFireteamFinderBulkGetListingStatusResponse';
import { DestinyFireteamFinderGetApplicationResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetApplicationResponse';
import { DestinyFireteamFinderListing } from '../models/FireteamFinder/DestinyFireteamFinderListing';
import { DestinyFireteamFinderGetListingApplicationsResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetListingApplicationsResponse';
import { DestinyFireteamFinderLobbyResponse } from '../models/FireteamFinder/DestinyFireteamFinderLobbyResponse';
import { DestinyFireteamFinderGetPlayerLobbiesResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetPlayerLobbiesResponse';
import { DestinyFireteamFinderGetPlayerApplicationsResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetPlayerApplicationsResponse';
import { DestinyFireteamFinderGetPlayerOffersResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetPlayerOffersResponse';
import { DestinyFireteamFinderGetCharacterActivityAccessResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetCharacterActivityAccessResponse';
import { DestinyFireteamFinderOffer } from '../models/FireteamFinder/DestinyFireteamFinderOffer';
import { DestinyFireteamFinderGetLobbyOffersResponse } from '../models/FireteamFinder/DestinyFireteamFinderGetLobbyOffersResponse';
import { DestinyFireteamFinderHostLobbyRequest } from '../models/FireteamFinder/DestinyFireteamFinderHostLobbyRequest';
import { DestinyFireteamFinderHostLobbyResponse } from '../models/FireteamFinder/DestinyFireteamFinderHostLobbyResponse';
import { DestinyFireteamFinderJoinLobbyRequest } from '../models/FireteamFinder/DestinyFireteamFinderJoinLobbyRequest';
import { DestinyFireteamFinderKickPlayerRequest } from '../models/FireteamFinder/DestinyFireteamFinderKickPlayerRequest';
import { DestinyFireteamFinderRespondToApplicationRequest } from '../models/FireteamFinder/DestinyFireteamFinderRespondToApplicationRequest';
import { DestinyFireteamFinderRespondToApplicationResponse } from '../models/FireteamFinder/DestinyFireteamFinderRespondToApplicationResponse';
import { DestinyFireteamFinderRespondToAuthenticationRequest } from '../models/FireteamFinder/DestinyFireteamFinderRespondToAuthenticationRequest';
import { DestinyFireteamFinderRespondToAuthenticationResponse } from '../models/FireteamFinder/DestinyFireteamFinderRespondToAuthenticationResponse';
import { DestinyFireteamFinderRespondToOfferRequest } from '../models/FireteamFinder/DestinyFireteamFinderRespondToOfferRequest';
import { DestinyFireteamFinderRespondToOfferResponse } from '../models/FireteamFinder/DestinyFireteamFinderRespondToOfferResponse';
import { DestinyFireteamFinderSearchListingsByClanRequest } from '../models/FireteamFinder/DestinyFireteamFinderSearchListingsByClanRequest';
import { DestinyFireteamFinderSearchListingsByClanResponse } from '../models/FireteamFinder/DestinyFireteamFinderSearchListingsByClanResponse';
import { DestinyFireteamFinderSearchListingsByFiltersRequest } from '../models/FireteamFinder/DestinyFireteamFinderSearchListingsByFiltersRequest';
import { DestinyFireteamFinderSearchListingsByFiltersResponse } from '../models/FireteamFinder/DestinyFireteamFinderSearchListingsByFiltersResponse';
import { DestinyFireteamFinderUpdateLobbySettingsRequest } from '../models/FireteamFinder/DestinyFireteamFinderUpdateLobbySettingsRequest';
import { DestinyFireteamFinderUpdateLobbySettingsResponse } from '../models/FireteamFinder/DestinyFireteamFinderUpdateLobbySettingsResponse';
/**
 * Activates a lobby and initializes it as an active Fireteam.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.ActivateLobby}
 */
export declare function activateLobby(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** Optional boolean to forcibly activate the lobby, kicking pending applicants. */
    forceActivation?: boolean;
    /** The ID of the lobby to activate. */
    lobbyId: string;
}): Promise<BungieNetResponse<boolean>>;
/**
 * Activates a lobby and initializes it as an active Fireteam, returning the
 * updated Listing ID.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.ActivateLobbyForNewListingId}
 */
export declare function activateLobbyForNewListingId(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** Optional boolean to forcibly activate the lobby, kicking pending applicants. */
    forceActivation?: boolean;
    /** The ID of the lobby to activate. */
    lobbyId: string;
}): Promise<BungieNetResponse<boolean>>;
/**
 * Applies to have a character join a fireteam.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.ApplyToListing}
 */
export declare function applyToListing(http: BungieHttpProtocol, params: {
    /** The type of application to apply */
    applicationType: DestinyFireteamFinderApplicationType;
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The id of the listing to apply to */
    listingId: string;
}): Promise<BungieNetResponse<DestinyFireteamFinderApplyToListingResponse>>;
/**
 * Retrieves Fireteam listing statuses in bulk.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.BulkGetListingStatus}
 */
export declare function bulkGetListingStatus(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderBulkGetListingStatusRequest): Promise<BungieNetResponse<DestinyFireteamFinderBulkGetListingStatusResponse>>;
/**
 * Retrieves a Fireteam application.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetApplication}
 */
export declare function getApplication(http: BungieHttpProtocol, params: {
    applicationId: string;
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetApplicationResponse>>;
/**
 * Retrieves a Fireteam listing.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetListing}
 */
export declare function getListing(http: BungieHttpProtocol, params: {
    /** The ID of the listing to retrieve. */
    listingId: string;
}): Promise<BungieNetResponse<DestinyFireteamFinderListing>>;
/**
 * Retrieves all applications to a Fireteam Finder listing.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetListingApplications}
 */
export declare function getListingApplications(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** Optional flag representing a filter on the state of the application. */
    flags?: string;
    /** The ID of the listing whose applications to retrieve. */
    listingId: string;
    /** An optional token from a previous response to fetch the next page of results. */
    nextPageToken?: string;
    /** The maximum number of results to be returned with this page. */
    pageSize?: number;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetListingApplicationsResponse>>;
/**
 * Retrieves the information for a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetLobby}
 */
export declare function getLobby(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The ID of the lobby to retrieve. */
    lobbyId: string;
}): Promise<BungieNetResponse<DestinyFireteamFinderLobbyResponse>>;
/**
 * Retrieves the information for a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetPlayerLobbies}
 */
export declare function getPlayerLobbies(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** An optional token from a previous response to fetch the next page of results. */
    nextPageToken?: string;
    /** The maximum number of results to be returned with this page. */
    pageSize?: number;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetPlayerLobbiesResponse>>;
/**
 * Retrieves Fireteam applications that this player has sent or recieved.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetPlayerApplications}
 */
export declare function getPlayerApplications(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** An optional token from a previous response to fetch the next page of results. */
    nextPageToken?: string;
    /** The maximum number of results to be returned with this page. */
    pageSize?: number;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetPlayerApplicationsResponse>>;
/**
 * Retrieves Fireteam offers that this player has recieved.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetPlayerOffers}
 */
export declare function getPlayerOffers(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** An optional token from a previous response to fetch the next page of results. */
    nextPageToken?: string;
    /** The maximum number of results to be returned with this page. */
    pageSize?: number;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetPlayerOffersResponse>>;
/**
 * Retrieves the information for a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetCharacterActivityAccess}
 */
export declare function getCharacterActivityAccess(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetCharacterActivityAccessResponse>>;
/**
 * Retrieves an offer to a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetOffer}
 */
export declare function getOffer(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The unique ID of the offer. */
    offerId: string;
}): Promise<BungieNetResponse<DestinyFireteamFinderOffer>>;
/**
 * Retrieves all offers relevant to a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.GetLobbyOffers}
 */
export declare function getLobbyOffers(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The unique ID of the lobby. */
    lobbyId: string;
    /** An optional token from a previous response to fetch the next page of results. */
    nextPageToken?: string;
    /** The maximum number of results to be returned with this page. */
    pageSize?: number;
}): Promise<BungieNetResponse<DestinyFireteamFinderGetLobbyOffersResponse>>;
/**
 * Creates a new Fireteam lobby and Fireteam Finder listing.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.HostLobby}
 */
export declare function hostLobby(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderHostLobbyRequest): Promise<BungieNetResponse<DestinyFireteamFinderHostLobbyResponse>>;
/**
 * Sends a request to join an available Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.JoinLobby}
 */
export declare function joinLobby(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderJoinLobbyRequest): Promise<BungieNetResponse<DestinyFireteamFinderLobbyResponse>>;
/**
 * Kicks a player from a Fireteam Finder lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.KickPlayer}
 */
export declare function kickPlayer(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The ID of the lobby to kick the player from. */
    lobbyId: string;
    /** A valid Destiny membership ID of the player to kick. */
    targetMembershipId: string;
}, body: DestinyFireteamFinderKickPlayerRequest): Promise<BungieNetResponse<boolean>>;
/**
 * Sends a request to leave a Fireteam listing application.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.LeaveApplication}
 */
export declare function leaveApplication(http: BungieHttpProtocol, params: {
    /** The ID of the application to leave. */
    applicationId: string;
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}): Promise<BungieNetResponse<boolean>>;
/**
 * Sends a request to leave a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.LeaveLobby}
 */
export declare function leaveLobby(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The ID of the lobby to leave. */
    lobbyId: string;
}): Promise<BungieNetResponse<boolean>>;
/**
 * Responds to an application sent to a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.RespondToApplication}
 */
export declare function respondToApplication(http: BungieHttpProtocol, params: {
    /** The application ID to respond to. */
    applicationId: string;
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderRespondToApplicationRequest): Promise<BungieNetResponse<DestinyFireteamFinderRespondToApplicationResponse>>;
/**
 * Responds to an authentication request for a Fireteam.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.RespondToAuthentication}
 */
export declare function respondToAuthentication(http: BungieHttpProtocol, params: {
    /** The ID of the application whose authentication to confirm. */
    applicationId: string;
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderRespondToAuthenticationRequest): Promise<BungieNetResponse<DestinyFireteamFinderRespondToAuthenticationResponse>>;
/**
 * Responds to a Fireteam lobby offer.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.RespondToOffer}
 */
export declare function respondToOffer(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The unique ID of the offer. */
    offerId: string;
}, body: DestinyFireteamFinderRespondToOfferRequest): Promise<BungieNetResponse<DestinyFireteamFinderRespondToOfferResponse>>;
/**
 * Returns search results for available Fireteams provided a clan.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.SearchListingsByClan}
 */
export declare function searchListingsByClan(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
}, body: DestinyFireteamFinderSearchListingsByClanRequest): Promise<BungieNetResponse<DestinyFireteamFinderSearchListingsByClanResponse>>;
/**
 * Returns search results for available Fireteams provided search filters.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.SearchListingsByFilters}
 */
export declare function searchListingsByFilters(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /**
     * Optional boolean to bypass the offline-only check, so the client can pull
     * fireteam from the game.
     */
    overrideOfflineFilter?: boolean;
}, body: DestinyFireteamFinderSearchListingsByFiltersRequest): Promise<BungieNetResponse<DestinyFireteamFinderSearchListingsByFiltersResponse>>;
/**
 * Updates the settings for a Fireteam lobby.
 * @see {@link https://bungie-net.github.io/#FireteamFinder.UpdateLobbySettings}
 */
export declare function updateLobbySettings(http: BungieHttpProtocol, params: {
    /** A valid Destiny character ID. */
    destinyCharacterId: string;
    /** A valid Destiny membership ID. */
    destinyMembershipId: string;
    /** A valid Destiny membership type. */
    destinyMembershipType: BungieMembershipType;
    /** The ID of the lobby to update. */
    lobbyId: string;
}, body: DestinyFireteamFinderUpdateLobbySettingsRequest): Promise<BungieNetResponse<DestinyFireteamFinderUpdateLobbySettingsResponse>>;
