bandcamp-fetch
Version:
Scrape Bandcamp content
50 lines • 2.01 kB
TypeScript
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