import { RemoteServerError as _RemoteServerError } from "../../../request";
import { IDiscussionsRequestOptions } from "../types";
export declare class RemoteServerError extends _RemoteServerError {
    error: string;
    constructor(message: string, url: string, status: number, error: string);
}
/**
 * returns Promise that resolves token to use in Discussions API requests
 *
 * @export
 * @param {IDiscussionsRequestOptions} options
 * @return {*}  {Promise<string>}
 */
export declare function authenticateRequest(options: IDiscussionsRequestOptions): Promise<string>;
/**
 * parses IDiscussionsRequestOptions and makes request against Discussions API
 *
 * @export
 * @template T
 * @param {string} route
 * @param {IDiscussionsRequestOptions} options
 * @param {string} [token]
 * @param {string} [version]
 * @return {*}  {Promise<T>}
 */
export declare function apiRequest<T>(route: string, options: IDiscussionsRequestOptions, version: "v1" | "v2", token?: string): Promise<T>;
