UNPKG

bandcamp-fetch

Version:
50 lines 2.01 kB
import { type AutoCompleteTag, type AutocompleteLocation } from '../types/Autocomplete.js'; import type Limiter from '../utils/Limiter.js'; import BaseAPI, { type BaseAPIParams } from '../common/BaseAPI.js'; export declare enum AutocompleteItemType { Tag = "Tag", Location = "Location" } export type AutocompleteAPIGetSuggestionsParams = { query: string; itemType: AutocompleteItemType.Location; limit?: number; } | { query: string; itemType: AutocompleteItemType.Tag; }; export default class AutocompleteAPI extends BaseAPI { getSuggestions(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Location; }): Promise<AutocompleteLocation[]>; getSuggestions(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Tag; }): Promise<AutoCompleteTag[]>; getSuggestions(params: AutocompleteAPIGetSuggestionsParams): Promise<AutoCompleteTag[] | AutocompleteLocation[]>; /** * @internal */ protected getAutocompleteTags(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Tag; }): Promise<AutoCompleteTag[]>; /** * @internal */ protected getAutocompleteLocations(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Location; }): Promise<AutocompleteLocation[]>; } export declare class LimiterAutocompleteAPI extends AutocompleteAPI { #private; constructor(params: BaseAPIParams & { limiter: Limiter; }); getSuggestions(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Location; }): Promise<AutocompleteLocation[]>; getSuggestions(params: AutocompleteAPIGetSuggestionsParams & { itemType: AutocompleteItemType.Tag; }): Promise<AutoCompleteTag[]>; getSuggestions(params: AutocompleteAPIGetSuggestionsParams): Promise<AutocompleteLocation[] | AutoCompleteTag[]>; } //# sourceMappingURL=AutocompleteAPI.d.ts.map