/**
 * API
 * Audius V1 API
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import type { PlaylistResponse, PlaylistSearchResult, PlaylistTracksResponse, TrendingPlaylistsResponse } from '../models';
export interface GetPlaylistRequest {
    playlistId: string;
    userId?: string;
}
export interface GetPlaylistByHandleAndSlugRequest {
    handle: string;
    slug: string;
    userId?: string;
}
export interface GetPlaylistTracksRequest {
    playlistId: string;
}
export interface GetTrendingPlaylistsRequest {
    time?: GetTrendingPlaylistsTimeEnum;
}
export interface SearchPlaylistsRequest {
    query: string;
}
/**
 *
 */
export declare class PlaylistsApi extends runtime.BaseAPI {
    /**
     * @hidden
     * Get a playlist by ID
     */
    getPlaylistRaw(params: GetPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlaylistResponse>>;
    /**
     * Get a playlist by ID
     */
    getPlaylist(params: GetPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlaylistResponse>;
    /**
     * @hidden
     * Get a playlist by handle and slug
     */
    getPlaylistByHandleAndSlugRaw(params: GetPlaylistByHandleAndSlugRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlaylistResponse>>;
    /**
     * Get a playlist by handle and slug
     */
    getPlaylistByHandleAndSlug(params: GetPlaylistByHandleAndSlugRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlaylistResponse>;
    /**
     * @hidden
     * Fetch tracks within a playlist.
     */
    getPlaylistTracksRaw(params: GetPlaylistTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlaylistTracksResponse>>;
    /**
     * Fetch tracks within a playlist.
     */
    getPlaylistTracks(params: GetPlaylistTracksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlaylistTracksResponse>;
    /**
     * @hidden
     * Gets trending playlists for a time period
     */
    getTrendingPlaylistsRaw(params: GetTrendingPlaylistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TrendingPlaylistsResponse>>;
    /**
     * Gets trending playlists for a time period
     */
    getTrendingPlaylists(params?: GetTrendingPlaylistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TrendingPlaylistsResponse>;
    /**
     * @hidden
     * Search for a playlist
     */
    searchPlaylistsRaw(params: SearchPlaylistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PlaylistSearchResult>>;
    /**
     * Search for a playlist
     */
    searchPlaylists(params: SearchPlaylistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PlaylistSearchResult>;
}
/**
 * @export
 */
export declare const GetTrendingPlaylistsTimeEnum: {
    readonly Week: "week";
    readonly Month: "month";
    readonly Year: "year";
    readonly AllTime: "allTime";
};
export declare type GetTrendingPlaylistsTimeEnum = typeof GetTrendingPlaylistsTimeEnum[keyof typeof GetTrendingPlaylistsTimeEnum];
