/**
 * 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 { ForumTopicsCategoryFiltersEnum } from '../models/Forum/ForumTopicsCategoryFiltersEnum';
import { ForumTopicsQuickDateEnum } from '../models/Forum/ForumTopicsQuickDateEnum';
import { ForumTopicsSortEnum } from '../models/Forum/ForumTopicsSortEnum';
import { BungieHttpProtocol } from './..';
import { BungieNetResponse } from '../interfaces/BungieNetResponse';
import { PostSearchResponse } from '../models/Forum/PostSearchResponse';
import { ForumPostSortEnum } from '../models/Forum/ForumPostSortEnum';
import { TagResponse } from '../models/Tags/Models/Contracts/TagResponse';
import { ForumRecruitmentDetail } from '../models/Forum/ForumRecruitmentDetail';
/**
 * Get topics from any forum.
 * @see {@link https://bungie-net.github.io/#Forum.GetTopicsPaged}
 */
export declare function getTopicsPaged(http: BungieHttpProtocol, params: {
    /** A category filter */
    categoryFilter: ForumTopicsCategoryFiltersEnum;
    /** The group, if any. */
    group: string;
    /**
     * Comma seperated list of locales posts must match to return in the result list.
     * Default 'en'
     */
    locales?: string;
    /** Zero paged page number */
    page: number;
    /** Unused */
    pageSize: number;
    /** A date filter. */
    quickDate: ForumTopicsQuickDateEnum;
    /** The sort mode. */
    sort: ForumTopicsSortEnum;
    /** The tags to search, if any. */
    tagstring?: string;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Gets a listing of all topics marked as part of the core group.
 * @see {@link https://bungie-net.github.io/#Forum.GetCoreTopicsPaged}
 */
export declare function getCoreTopicsPaged(http: BungieHttpProtocol, params: {
    /** The category filter. */
    categoryFilter: ForumTopicsCategoryFiltersEnum;
    /**
     * Comma seperated list of locales posts must match to return in the result list.
     * Default 'en'
     */
    locales?: string;
    /** Zero base page */
    page: number;
    /** The date filter. */
    quickDate: ForumTopicsQuickDateEnum;
    /** The sort mode. */
    sort: ForumTopicsSortEnum;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Returns a thread of posts at the given parent, optionally returning replies to
 * those posts as well as the original parent.
 * @see {@link https://bungie-net.github.io/#Forum.GetPostsThreadedPaged}
 */
export declare function getPostsThreadedPaged(http: BungieHttpProtocol, params: {
    getParentPost: boolean;
    page: number;
    pageSize: number;
    parentPostId: string;
    replySize: number;
    rootThreadMode: boolean;
    /** If this value is not null or empty, banned posts are requested to be returned */
    showbanned?: string;
    sortMode: ForumPostSortEnum;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Returns a thread of posts starting at the topicId of the input childPostId,
 * optionally returning replies to those posts as well as the original parent.
 * @see {@link https://bungie-net.github.io/#Forum.GetPostsThreadedPagedFromChild}
 */
export declare function getPostsThreadedPagedFromChild(http: BungieHttpProtocol, params: {
    childPostId: string;
    page: number;
    pageSize: number;
    replySize: number;
    rootThreadMode: boolean;
    /** If this value is not null or empty, banned posts are requested to be returned */
    showbanned?: string;
    sortMode: ForumPostSortEnum;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Returns the post specified and its immediate parent.
 * @see {@link https://bungie-net.github.io/#Forum.GetPostAndParent}
 */
export declare function getPostAndParent(http: BungieHttpProtocol, params: {
    childPostId: string;
    /** If this value is not null or empty, banned posts are requested to be returned */
    showbanned?: string;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Returns the post specified and its immediate parent of posts that are awaiting
 * approval.
 * @see {@link https://bungie-net.github.io/#Forum.GetPostAndParentAwaitingApproval}
 */
export declare function getPostAndParentAwaitingApproval(http: BungieHttpProtocol, params: {
    childPostId: string;
    /** If this value is not null or empty, banned posts are requested to be returned */
    showbanned?: string;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Gets the post Id for the given content item's comments, if it exists.
 * @see {@link https://bungie-net.github.io/#Forum.GetTopicForContent}
 */
export declare function getTopicForContent(http: BungieHttpProtocol, params: {
    contentId: string;
}): Promise<BungieNetResponse<string>>;
/**
 * Gets tag suggestions based on partial text entry, matching them with other tags
 * previously used in the forums.
 * @see {@link https://bungie-net.github.io/#Forum.GetForumTagSuggestions}
 */
export declare function getForumTagSuggestions(http: BungieHttpProtocol, params: {
    /** The partial tag input to generate suggestions from. */
    partialtag?: string;
}): Promise<BungieNetResponse<TagResponse[]>>;
/**
 * Gets the specified forum poll.
 * @see {@link https://bungie-net.github.io/#Forum.GetPoll}
 */
export declare function getPoll(http: BungieHttpProtocol, params: {
    /** The post id of the topic that has the poll. */
    topicId: string;
}): Promise<BungieNetResponse<PostSearchResponse>>;
/**
 * Allows the caller to get a list of to 25 recruitment thread summary information
 * objects.
 * @see {@link https://bungie-net.github.io/#Forum.GetRecruitmentThreadSummaries}
 */
export declare function getRecruitmentThreadSummaries(http: BungieHttpProtocol, body: string[]): Promise<BungieNetResponse<ForumRecruitmentDetail[]>>;
