import { Lunify } from '../..';
import { RequestData, RouteLike } from '../../../interfaces/rest';
export declare class RestManager {
    client: Lunify;
    constructor(client: Lunify);
    private resolveUrl;
    private resolveRequest;
    private makeRequest;
    private parseResponse;
    private request;
    /**
     * Send a GET request to the spotify api
     * @param {string} route - The full route to query
     * @param {RequestData?} options - Optional request options
     */
    get<T>(route: RouteLike, options?: RequestData): Promise<T>;
    /**
     * Send a DELETE request to the spotify api
     * @param {string} route - The full route to query
     * @param {RequestData?} options - Optional request options
     */
    delete<T>(route: RouteLike, options?: RequestData): Promise<T>;
    /**
     * Send a POST request to the spotify api
     * @param {string} route - The full route to query
     * @param {RequestData?} options - Optional request options
     */
    post<T>(route: RouteLike, options?: RequestData): Promise<T>;
    /**
     * Send a PUT request to the spotify api
     * @param {string} route - The full route to query
     * @param {RequestData?} options - Optional request options
     */
    put<T>(route: RouteLike, options?: RequestData): Promise<T>;
    /**
     * Send a PATCH request to the spotify api
     * @param {string} route - The full route to query
     * @param {RequestData?} options - Optional request options
     */
    patch<T>(route: RouteLike, options?: RequestData): Promise<T>;
}
