import { InfoExtractorPlugin, ResolveOptions, Song, Playlist } from 'distube';

declare class AppleMusicPlugin extends InfoExtractorPlugin {
    validate(url: string): boolean;
    resolve<T>(url: string, { member, metadata }: ResolveOptions<T>): Promise<Song<T> | Playlist<T>>;
    createSearchQuery<T>(song: Song<T>): string;
    getRelatedSongs(song: Song<undefined>): Promise<any>;
}

export { AppleMusicPlugin, AppleMusicPlugin as default };
