export declare type Country = 'tw' | 'cn' | 'us'; export interface SearchQuery { term: string; country: string; limit: number; media: 'podcast'; entity: 'podcast'; } export interface SearchResultData { wrapperType: 'track' | 'collection' | 'artistFor'; kind: 'podcast'; artistId: number; collectionId: number; trackId: number; artistName: string; collectionName: string; trackName: string; collectionCensoredName: string; trackCensoredName: string; artistViewUrl: string; collectionViewUrl: string; trackViewUrl: string; previewUrl: string; artworkUrl60: string; artworkUrl100: string; collectionPrice: number; trackPrice: number; collectionExplicitness: string; trackExplicitness: string; discCount: number; discNumber: number; trackCount: number; trackNumber: number; trackTimeMillis: number; country: string; currency: string; primaryGenreName: string; feedUrl: string; } export interface SearchResult { resultCount: number; results: SearchResultData[]; } export declare class Itunes { private readonly request; constructor(); search(query: SearchQuery): Promise; }