/**
 * API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * 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 { SearchAutocompleteResponse, SearchFullResponse } from '../models';
export interface SearchRequest {
    query: string;
    offset?: number;
    limit?: number;
    userId?: string;
    kind?: SearchKindEnum;
    includePurchaseable?: string;
}
export interface SearchAutocompleteRequest {
    query: string;
    offset?: number;
    limit?: number;
    userId?: string;
    kind?: SearchAutocompleteKindEnum;
    includePurchaseable?: string;
}
/**
 *
 */
export declare class SearchApi extends runtime.BaseAPI {
    /**
     * @hidden
     * Get Users/Tracks/Playlists/Albums that best match the search query
     */
    searchRaw(params: SearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchFullResponse>>;
    /**
     * Get Users/Tracks/Playlists/Albums that best match the search query
     */
    search(params: SearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchFullResponse>;
    /**
     * @hidden
     * Same as search but optimized for quicker response at the cost of some entity information.
     * Get Users/Tracks/Playlists/Albums that best match the search query
     */
    searchAutocompleteRaw(params: SearchAutocompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchAutocompleteResponse>>;
    /**
     * Same as search but optimized for quicker response at the cost of some entity information.
     * Get Users/Tracks/Playlists/Albums that best match the search query
     */
    searchAutocomplete(params: SearchAutocompleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchAutocompleteResponse>;
}
/**
 * @export
 */
export declare const SearchKindEnum: {
    readonly All: "all";
    readonly Users: "users";
    readonly Tracks: "tracks";
    readonly Playlists: "playlists";
    readonly Albums: "albums";
};
export declare type SearchKindEnum = typeof SearchKindEnum[keyof typeof SearchKindEnum];
/**
 * @export
 */
export declare const SearchAutocompleteKindEnum: {
    readonly All: "all";
    readonly Users: "users";
    readonly Tracks: "tracks";
    readonly Playlists: "playlists";
    readonly Albums: "albums";
};
export declare type SearchAutocompleteKindEnum = typeof SearchAutocompleteKindEnum[keyof typeof SearchAutocompleteKindEnum];
